为什么类似的mysql查询不会执行?

时间:2012-10-24 23:01:34

标签: php mysql

将PHP PDO与MYSQL一起使用

以下作品

$customer = "2";
$ammount = "123.50";
$sql = $db->query("INSERT INTO transactions(transaction_customer,transaction_ammount) VALUES ($customer,$ammount)");

以下不起作用

$biggy = "Jim";
$chum = "Tester";
$sql = $db->query("insert into customers(customer_firstname,customer_lastname,customer_telephone) values ($biggy,$chum,'7576632423');");

任何想法为什么?

2 个答案:

答案 0 :(得分:4)

您的第一个示例有效,因为您正在使用数字。

您需要在第二个SQL语句

中围绕字符串引用
$sql = $db->query("insert into customers(customer_firstname,customer_lastname,customer_telephone) values ('$biggy','$chum','7576632423');");

你可以使用PHP PDO并使用预处理语句而不是手工编写SQL来避免这样的陷阱。我强烈建议你研究一下:)

答案 1 :(得分:3)

需要引用字符串。

... values ('$biggy','$chum','7576632423');");

你也应该使用mysql_real_escape_string