php - SQL 更新后,字段设置为 0 [PHP/MySQL]

标签 php mysql field

好吧,我现在生病了,所以也许答案就在我面前,但过去 4 个小时我一直坐在这里试图弄清楚为什么会这样。

基本上我有一个脚本应该更新数据库中的一行。 我要更新的字段是“名称”,它看起来像这样:

// Updating the database with the new name
$name = $this->db->slashes( $this->friends[$row->key] );
$sql = "UPDATE `friends` SET `name` = '" . $name . "' AND `status` = 'updated' WHERE `key` = " . $row->key . " LIMIT 1";
echo '-- Query: ' . $sql . '<br />';
$result2 = $this->db->query( $sql );

if( !$result2 )
     echo mysql_error();

输出变成这样(一个例子):

-- Query: UPDATE `friends` SET `name` = 'Andrew Johnsson' AND `status` = 'updated' WHERE `key` = 7823583 LIMIT 1

它没有生成任何 mysql_error 所以查询似乎已经正确地进行了,从查询的外观来看,它应该只是更新了数据库中的一行,其中键是一个数字并将新名称设置为 Andrew Johnsson以及将状态设置为已更新。

但是!在此更新后查看数据库后,此行的名称设置为“0”。它到底为什么要这么做?

关于为什么会发生这种情况的任何想法? 另外,如果您需要更多信息来帮助我,请告诉我,我会很乐意提供!

最佳答案

您的 UPDATE 语法不正确。应该是 SET name = 'string', status = 'updated' WHERE key...

目前,您实际上是在要求它评估 AND 以确定名称列应该更新的内容,这就是您得到 0 的原因。

关于php - SQL 更新后,字段设置为 0 [PHP/MySQL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7375356/

相关文章:

python - django存储文本编辑器输入值

MySQL连接、左连接

java - 在接口(interface)实现中的函数之间共享变量

java - PDFBox API : How to change font to handle Cyrillic values in an AcroForm field

php - 如何查询 Sphinx 以获取完全匹配的短语?

php - 在 PHP 中将 RGB 转换为十六进制颜色值

mysql - 如何连续删除 MySQL 数据库最新 10 个条目之前的任何内容(可能在 JPQL/JPA 中)

php - 从子文件夹调用 header

php - 使用 MYSQL 将日期和时间从 UTC 转换为服务器上客户端的本地时间

java - 最终字段的初始化