我试图将一些值插入到具体单页内的数据库中,它告诉我我的语法错误。我不确定语法错在哪里,因为我去了他们网站上的内容。 我的代码是下面的。
<?php defined('C5_EXECUTE') or die("Access Denied.");
$db = Loader::db();
$quantity = $_POST['quantity'];
$product = $_POST['product'];
$vendor = $_POST['vendor'];
$address = $_POST['address'];
$user = $_POST['userName'];
$costcenter = $_POST['costCenter'];
$index = 0;
foreach($quantity as $info){
$num = mysql_real_escape_string($quantity[$index]);
echo "$num";
echo "</br>";
$item = mysql_real_escape_string($product[$index]);
echo "$item";
echo "</br>";
$company = mysql_real_escape_string($vendor[$index]);
echo "$company";
echo "</br>";
$shipping = mysql_real_escape_string($address[$index]);
echo "$shipping";
echo "</br>";
$person = mysql_real_escape_string($user);
echo "$person";
echo "</br>";
$center = mysql_real_escape_string($costcenter);
echo "$center";
echo "</br>";
$sql = "INSERT INTO Orders (quantity,orderItem,vendor,shippingAddress,userName,costCenter) VALUES $num,$item,$company,$shipping,$person,$center";
$db->Execute($sql);
$index++;
}
?>
答案 0 :(得分:0)
将您的值包含在括号中
$sql = "INSERT INTO Orders (quantity,orderItem,vendor,shippingAddress,userName,costCenter) VALUES ($num,$item,$company,$shipping,$person,$center)";
答案 1 :(得分:0)
值后面的变量需要括号。 例如:
INSERT INTO Orders (col1, col2, col3) VALUES ("value1", "value2", "value3")
答案 2 :(得分:0)
你实际上有两个问题。首先,您的VALUES列表需要用括号括起来。第二个问题是您的值不被引号括起来。因此,当您的SQL被淘汰时,您将字符串直接放入列表中。如果你期望一个数字但是字符串将无法插入,你可以侥幸逃脱。
$person = '"' . mysql_real_escape_string($user) . '"';
尝试将其添加到您的输入中,我打赌它会通过。