0

我知道什么是语法错误,但在我的语法中找不到问题。我首先在 phpmyadmin 中执行了 sql,而不是我只是复制并放入变量。

错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法以使用 near 的新雕刻凿子。1 x 13mm 4 点精加工爪凿子。3号线南街

代码:

public function insert_row($vendor, $product_link, $product_title, $product_desc, $product_price){
    mysql_query("INSERT INTO `crawl_products` ( `vendor` , `product_link` , `product_title` , `product_desc` , `product_price` )
        VALUES (
        '$vendor', '$product_link', '$product_title', '$product_desc', '$product_price'
        )") or die(mysql_error());
}

非常感谢。

4

3 回答 3

1

您需要mysql_real_escape_string在运行插入查询之前应用每个变量

public function insert_row($vendor, $product_link, $product_title, $product_desc, $product_price){

    $vendor = mysql_real_escape_string($vendor);
    $product_link = mysql_real_escape_string($product_link);
    $product_title = mysql_real_escape_string($product_title);
    $product_desc = mysql_real_escape_string($product_desc);
    $product_price = mysql_real_escape_string($product_price);

    mysql_query("INSERT INTO `crawl_products` ( `vendor` , `product_link` , `product_title` , `product_desc` , `product_price` )
        VALUES (
        '$vendor', '$product_link', '$product_title', '$product_desc', '$product_price'
        )") or die(mysql_error());
}
于 2013-09-25T11:36:06.397 回答
1

表格不需要重音,例如“`vendor`”应该只是“vendor”,并尝试像这样编写变量:

VALUES ( '".$vendor."', 

它应该可以工作。

sythnet 所写的内容mysql_query($con适用于 mysqli_qurey,而不适用于 mysql_query

于 2013-09-25T11:34:46.477 回答
0

转义输入。使用mysql_real_escape_string


还请看:为什么我不应该在 PHP 中使用 mysql_* 函数?

于 2013-09-25T11:37:14.683 回答