我收到了这个错误:
语法错误或访问冲突:1064 SQL语法中出错;
这是PDOStatement->execute()#1 {main}
并且不能使用try without catch或者最后
我的代码是:
$f_u_id = $_SESSION['memberID'];
try
{
$insert_file_info = $db->prepare("INSERT INTO uploads ('file_id','owner_id') VALUES ($newfilename, $f_u_id)");
$insert_file_info->execute();
}catch(PDOException $ee)
{
$error[] = $ee->getMessage();
}
答案 0 :(得分:1)
''
包裹你的字符串。好多了 - 使用占位符来获取数据。所以这是代码:
$insert_file_info = $db->prepare("INSERT INTO uploads (file_id, owner_id) VALUES (?, ?)");
$insert_file_info->execute(array($newfilename, $f_u_id));
答案 1 :(得分:0)
您需要从字段中删除引号,因为这只是列名,并将引号放在值中。
所以,试试这个查询
INSERT INTO uploads (file_id,owner_id) VALUES ("+ $newfilename +", "+ $f_u_id +")
注意:您可以refer this用于学习目的。
答案 2 :(得分:0)
在值中使用单个
INSERT INTO上传(file_id,owner_id)VALUES('$ newfilename','$ f_u_id')
答案 3 :(得分:0)
试试这种方式
$insert_file_info = $db->prepare("INSERT INTO uploads ('file_id','owner_id') VALUES ('"+$newfilename+"', "+$f_u_id+")");