-1

我有这段代码,由于某种原因,我收到了这个错误

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB     server version for the right syntax to use near 's','Used','A Book','1','http://media1.' at     line 2 

代码:

if(empty($_POST['image'])) {
$file = 'http://media1.site.org/products/images/no-photo.jpg';

} else {
    define('UPLOAD_DIR', '/products/images/');
define('UPLOAD_HOST', 'http://media1.sabinalcanyon.org/products/images/');

move_uploaded_file($_FILES['image']['tmp_name'],UPLOAD_DIR.$_FILES['image']['name']);

$file = UPLOAD_HOST.$_FILES['image']['name'];
}

$descedit = "<p>".$_POST['description']."</p>";

mysql_query("INSERT INTO products (`title`,`barcode`,`ISBN`,`catagory`,`set_price_start`,`brand`,`condition`,`description`,`amount_stock`,`picurl`) 
VALUES('$_POST[title]','$_POST[barcode]','$_POST[ISBN]','$_POST[catagory]','$_POST[set_price_start]','$_POST[brand]','$_POST[condition]','$descedit','$_POST[amount_stock]','$file')") or die(mysql_error());

第 2 行只是这段代码的开始。

4

1 回答 1

1

我只是给你一个例子,你继续其他变量。

    VALUES('".mysql_real_escape_string($_POST['title'])."',.......

关于你的错误

    right syntax to use near 's' ,

这是由于$_POST[brand]变量。

我猜你的品牌变量中有一些值,其中包括撇号,'s 然后最好像这样逃避它

  '".mysql_real_escape_string($_POST['brand'])."'
  • 请转向PDOMYSQLImysql弃用。
于 2013-08-01T17:36:07.607 回答