无效的SQL:INSERT INTO testimonial_master(customer_name,email_id,phone_no,testimonial,status,date)VALUES(' Test',' Test@test.com',& #39; 989889889','我' hv block',' 0',now())
function Insert($POST)
{
global $db;
$sql = "INSERT INTO ". OBR_MASTER. " (customer_name,email_id,phone_no,obr,status,date,persons,time,min,entrydate) "
. " VALUES ( "
. " '" . $POST['customer_name'] . "', "
. " '" . $POST['email_id'] . "', "
. " '" . $POST['phone_no'] . "', "
. " '" . $POST['obr'] . "', "
. " '0', "
. " '" . $POST['date'] . "', "
. " '" . $POST['persons'] . "', "
. " '" . $POST['time'] . "', "
. " '" . $POST['min'] . "', "
. " '" . $POST['entrydate'] . "' "
. " )";
$db->query($sql);
}
答案 0 :(得分:2)
您在一个字符串中有一个引号:
, 'I'hv block'
你可以用2个单引号来逃避它。
, 'I''hv block'
但更好的解决方案是使用准备好的陈述。
答案 1 :(得分:0)
你的报价搞砸了:
'I'hv block'
造成错误的原因...... 除此之外,简单地将POST值插入数据库是非常危险的......
答案 2 :(得分:0)
'我'阻止'打破字符串,使用mysql_real_escape_string函数使它们工作。
mysql_real_escape_string($POST['obr'])
这是破坏字符串的参数,安全方面在所有post参数上使用它。