4

我试图把这个:

"SELECT username FROM $table WHERE username='$newName'"

进入这个:

"SELECT $column FROM $table WHERE $column='$newName'"

但是当我使用or die()它时,我收到一个错误,说 .附近有不正确的语法WHERE username='someNameHere'。假设有什么问题,替换列名的正确方法是什么?

编辑:代码就是这样。这些值应该是正确的,因为我没有在错误中看到任何拼写错误。

$sql = "SELECT $column FROM $table WHERE $column='$newName'";
$result = mysql_query($sql) or die( mysql_error());
4

2 回答 2

8

像这样进行查询

$sql = "SELECT ".$column." FROM ".$table." WHERE ".$column."='".$newName."'"

顺便说一句,这是 SQLinjection 易受攻击的代码。您应该在查询中使用它们之前检查变量。你也应该开始使用mysqli准备好的语句

于 2013-07-03T13:17:30.090 回答
1
"SELECT ".$column." FROM ".$table." WHERE ".$column."=".$newName;

检查它是否适合您。

于 2013-07-03T13:16:24.333 回答