无法更新MySQL数据库

时间:2012-02-20 23:43:49

标签: php mysql database

我正在努力更新我的MySQL数据库。 这就是我写的:

$mysql_link = mysql_connect('servername','username','password');
mysql_select_db('bambi4couk_599731_db3', $mysql_link);

$serializedTemplates = serialize($_SESSION['data']['user']['templates']);
mysql_query("UPDATE rmusers SET templates='$serializedTemplates' WHERE email='" . $_SESSION['data']['user']['details']['email'] . "'");

如何解决此问题以使其有效?

修改

我没有收到错误,但是该函数没有更新数据库,而是返回false。

$ _ SESSION ['data'] ['user'] ['details'] ['email']返回使用的电子邮件地址(确实出现在数据库中)。

序列化数组太长了,无法在此处粘贴,但它没有任何问题 - 无论如何它都是一个字符串,所以我看不出它是怎么回事。

EDIT2:

事实证明我的假设是错误的,序列化数组必须先被转义。

1 个答案:

答案 0 :(得分:2)

添加

 or die (mysql_error());

喜欢这个

mysql_query("UPDATE rmusers SET templates='$serializedTemplates' WHERE email='" . $_SESSION['data']['user']['details']['email'] . "'") or die (mysql_error());

然后告诉我们错误信息是什么,以便我们为您提供帮助

猜测我希望你没有逃过价值

参见mysql_real_escape_string()

http://www.php.net/manual/en/function.mysql-real-escape-string.php