我有以下代码:
$RefEquipamento = mysql_real_escape_string($_GET['ID']);
mysql_select_db($database_connLOOPGEST, $connLOOPGEST);
$query_rs_equipamento = sprintf("SELECT * FROM clientes_listaequipamentos WHERE referenciacliente = $RefEquipamento ORDER BY datacriacao_loop DESC LIMIT 1");
$rs_equipamento = mysql_query($query_rs_equipamento, $connLOOPGEST) or die(mysql_error());
$row_rs_equipamento = mysql_fetch_assoc($rs_equipamento);
$totalRows_rs_equipamento = mysql_num_rows($rs_equipamento);
echo json_encode($row_rs_equipamento);
我不是PHP或MySQL的专家,我正在努力学习一些东西。我正在使用Dreamweaver。
当我传递一个数字作为参数时,上面的代码有效(例如,如果$ RefEquipamento是200456),这个工作正常,但当我试图传递一个字符串时(假设我传递字符串“equip1”这个不起作用,回声给我以下信息:
“'where子句'
中的未知列'equip1'答案 0 :(得分:3)
尝试:
$ RefEquipamento =“'”。 mysql_real_escape_string($ _ GET ['ID'])。 “'”; 所以mysql会将它作为一个字符串来处理。
OR
$ query_rs_equipamento = sprintf(“SELECT * FROM clientes_listaequipamentos WHERE referenciacliente ='$ RefEquipamento'ORDER BY datacriacao_loop DESC LIMIT 1”);
答案 1 :(得分:1)
如果您向MySQL命令发送一个单词,而不用 - >标记; '< ---- MySQL了解你是在给出一个或多个字段的名称。
请记住,无论如何,你需要将一个单词作为变量,你需要标记它。
该号码不需要特殊标记
Yoni Hassin的回答是解决方案,将其标记为答案