无法更新MySQL数据库
问题描述:
我正在努力更新我的MySQL数据库。 这是我采写:无法更新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'] . "'");
我怎样才能解决这个问题,使工作?
编辑:
,我没有得到一个错误,但功能没有更新数据库,它返回假。 $ _SESSION ['data'] ['user'] ['details'] ['email']返回使用的电子邮件地址(它出现在数据库中)。
序列化的数组太长,无法粘贴,但没有问题 - 它是一个字符串,所以我不明白它可能是错的。
EDIT2:
事实证明我的假设是错误的,序列化的阵列必须先逃过一劫。
答
添加
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
+0
宾果。感谢您的帮助。我因为我的糟糕教育而责怪w3schools。 – 2012-02-20 23:56:33
你得到什么错误?查询本身看起来很健全,因此需要一些信息。 '$ serialiszedTemplates'和'$ _SESSION ['data'] ['user'] ['details'] ['email']的转储可能也很方便。 (这次登录详细信息要好得多;)) – 2012-02-20 23:46:32
谢谢(相当尴尬)。我没有收到错误,该函数只是无所作为并返回false。 $ _SESSION ['data'] ['user'] ['details'] ['email']返回使用的电子邮件地址(它出现在数据库中)并且序列化数组太长而无法粘贴,但没有问题与它 - 它是一个字符串无论如何,所以我不知道它可能是错的。 – 2012-02-20 23:52:12
您是否尝试过使用['email']值进行手动更新?这听起来好像是WHERE条件有问题,否则它会更新至少* something *或错误。感谢您的帮助,可能值得添加错误处理程序,详情请参见缓冲箱以防止错误得到抑制 – 2012-02-20 23:56:04