Tag: MySQL

存储的数据奇怪的字符编码,旧的脚本显示他们罚款新的没有

我正在尝试重写一个旧网站。 它是使用perso /阿拉伯字符的波斯语。 CREATE DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci; USE `db`; 几乎所有我的表/列COLLATE都设置为utf8_persian_ci 我使用codeigniter为我的新脚本,我有 'char_set' => 'utf8', 'dbcollat' => 'utf8_persian_ci', 在数据库设置中,那里没有问题。 所以这里是奇怪的部分 旧的脚本正在使用某种名为TUBADBENGINE或TUBA DB ENGINE …没什么特别的。 当我使用旧脚本在数据库(波斯语)中input一些数据时,当我查看数据库时,字符被存储为عمران 。 旧脚本获取/显示数据正常,但新脚本显示与数据库相同的怪异字体/字符集 所以,当我inputاااا ,数据库存储的数据看起来像عمرا٠,当我在新脚本中获取它我看到عمراÙ但在旧的脚本我看到اااا CREATE TABLE IF NOT EXISTS `tnewsgroups` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `fName` varchar(200) COLLATE utf8_persian_ci DEFAULT NULL, PRIMARY KEY (`ID`) […]

如何在mysql中添加levenshtein函数?

我得到了代表levenshtein距离的MySQL表单“http://kristiannissen.wordpress.com/2010/07/08/mysql-levenshtein/”但是,如何在mysql中添加该函数? 我正在使用XAMPP,我需要它在PHPsearch。

如何在MySQL中创build一个行生成器?

有没有办法生成任意数量的行,可以在类似于Oracle语法的JOIN中使用: SELECT LEVEL FROM DUAL CONNECT BY LEVEL<=10

在MySQL中模拟滞后函数

| time | company | quote | +———————+———+——-+ | 0000-00-00 00:00:00 | GOOGLE | 40 | | 2012-07-02 21:28:05 | GOOGLE | 60 | | 2012-07-02 21:28:51 | SAP | 60 | | 2012-07-02 21:29:05 | SAP | 20 | 我如何在MySQL的这个表上做一个延迟来打印引号中的差异,例如: GOOGLE | 20 SAP | 40

Mysql – 从一个查询中删除多个表

我有4个表存储每个用户的不同信息。 每个表都有一个user_id字段来标识哪一行属于哪个用户。 如果我想删除用户,这是从多个表中删除用户信息的最好方法吗? 我的目标是在一个查询中完成。 查询: "DELETE FROM table1 WHERE user_id='$user_id'; DELETE FROM table2 WHERE user_id='$user_id'; DELETE FROM table3 WHERE user_id='$user_id'; DELETE FROM table4 WHERE user_id='$user_id';";

使用PDO插入/更新辅助函数

我有一个非常简单的帮助函数来生成传统的普通mysql驱动程序用法的SET语句: function dbSet($fields) { $set=''; foreach ($fields as $field) { if (isset($_POST[$field])) { $set.="`$field`='".mysql_real_escape_string($_POST[$field])."', "; } } return substr($set, 0, -2); } 像这样使用 $id = intval($_POST['id']); $fields = explode(" ","name surname lastname address zip fax phone"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-".$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields)." stamp=NOW() WHERE id=$id"; 它使代码相当干爽,简单而灵活。 我想问问,如果有人愿意分享一个类似的function,利用PDO准备报表function? 我仍然在怀疑,如何做到这一点。 有没有一种简单而直接的方法来使用PDO预处理语句来插入数据? 它应该是什么forms? 查询生成器助手? 或插入查询帮手? […]

实现MySQL /模糊searchLevenshtein距离?

我希望能够按如下方式search一个表格,以获得1个方差内的所有信息。 数据: 奥布莱恩 Smithe 杜兰 Smuth 皇 Smoth 冈瑟 Smiht 我已经考虑使用Levenshtein距离没有人知道如何实现这一点呢?

在准备好的语句中使用“like”通配符

我正在使用预处理语句来执行mysql数据库查询。 我想实现一个基于关键字的searchfunction。 为此我需要使用LIKE关键字,那我知道。 我之前也使用过预处理语句,但是我不知道如何将它用于LIKE因为从下面的代码中我将添加'keyword%' ? 我可以直接在pstmt.setString(1, notes)使用它(1, notes+"%")或类似的东西。 我在网上看到很多post,但没有任何好的答案。 PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes like ?"); pstmt.setString(1, notes); ResultSet rs = pstmt.executeQuery();

如何使用PDO插入NULL值?

我正在使用这个代码,我超越了沮丧: try { $dbh = new PDO('mysql:dbname=' . DB . ';host=' . HOST, USER, PASS); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'"); } catch(PDOException $e) { … } $stmt = $dbh->prepare('INSERT INTO table(v1, v2, …) VALUES(:v1, :v2, …)'); $stmt->bindParam(':v1', PDO::PARAM_NULL); // –> Here's the problem PDO::PARAM_NULL, null, '',他们都失败了,并抛出这个错误: 致命错误 :无法在/ opt /中通过引用传递参数2 …

如何find相似的结果并按相似性sorting?

如何查询按相似性sorting的logging? 例如。 search“股票溢出”将返回 堆栈溢出 SharePoint溢出 math溢出 政治溢出 VFX溢出 例如。 search“LO”将返回: 巴勃罗毕加索 米开朗基罗 jacksonpollock 我需要帮助的是: 使用search引擎来索引和searchMySQL表,以获得更好的结果 使用Sphinxsearch引擎,使用PHP 使用PHP的Lucene引擎 使用全文索引查找类似/包含的string 什么工作不好 Levenshtein距离是非常不稳定的。 ( UDF , 查询 ) 寻找“狗”给我: 狗 沼泽 前 大 回声 LIKE返回更好的结果,但是对于长查询返回任何内容,尽pipe类似的string确实存在 狗 dogid dogaral 教条