1

查询是

$sql = "update students set status = 'active', student_password='{$password}' where student_id ='".$_GET['id']."'";

它显示结果为

update students set status = 'active', student_password='50d0d53f546b7' where student_id ='112s23dd'

错误来了

Unknown column '112s23dd' in 'where clause'

当我在 where 子句中输入任何 int 值时,它可以正常工作,但不能在字符中工作,student_id 是主键 varchar(30)
另一个奇怪的事情,当我将它粘贴到 phpmyadmin 时它正在工作,但当我执行它时不起作用网页

4

3 回答 3

1

看起来您发现了一个错误:

http://www.sqlfiddle.com/#!2/56e3e/1

如果您可以尝试将代码直接运行到 PHPMyAdmin 中进行测试,请向我们提供您的 Mysql 版本,这样会更好。

于 2012-12-18T21:00:57.313 回答
1

我已经对您提供的数据做了一个修改。您的查询工作得很好。我认为问题可能出在您尚未更新网站上的数据库或同时更改“student_id”列的类型。请仔细检查服务器上的数据库。

于 2012-12-18T21:29:23.977 回答
0

试试这个:

    mysql_query("update `students` set `status`='active', `student_password`='{$password}' where `student_id`='" . mysql_real_escape_string($_GET['id']) . "'") or die(mysql_error());

通过使用它,您将获得此查询未执行的原因。

于 2012-12-18T21:32:12.063 回答