MySQL PHP pdo插入值不起作用

时间:2014-07-08 01:55:22

标签: php mysql pdo

我有一张桌子 id - 整数AUTO INCREMENT productid varchar 照片varchar 我使用pdo进行mysql连接 以下代码给出了我的错误,请帮助

$photo = $_POST['photo'];
$product = $_SESSION['prd'];
$todo = $dblink->query("INSERT INTO productphotos VALUES (NULL, '".$product."', '".$photo."'") or die ("Erorr");

最佳Reagrds 谢谢

2 个答案:

答案 0 :(得分:0)

省去了将值连接到SQL并使用预准备语句

的麻烦
$stmt = $dblink->prepare('INSERT INTO productphotos VALUES (NULL, ?, ?)');
$stmt->execute([$product, $photo]);

答案 1 :(得分:0)

if(isset($_POST['photo'], $_SESSION['prd'])){
//data
$photo = $_POST['photo'];
$product = $_SESSION['prd'];

$query = "INSERT INTO productphotos VALUES (NULL, :product, :photo)"
$stmt = $dblink->prepare($query);;
$stmt->bindValue(':product', $product, PDO::PARAM_STR); 
$stmt->bindValue(':photo', $photo, PDO::PARAM_STR);

$stmt->execute(); 
}

你应该确保你设置连接以抛出错误

$dblink->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);