try {
$db = new PDO("mysql:host=$host;dbname=$dbname",$user,$password) ;
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sqlcollum = array(
'First_name'=> 'gaurav',
'Last_name' => 'sundaram',
) ;
$Keys = array_keys($sqlcollum) ;
$Valuess = array_values($sqlcollum) ;
$Valuess = "'".implode("'", $Valuess)."'" ;
$db->beginTransaction() ;
$insert = $db->prepare('INSERT INTO register ($Keys) VALUES ($Valuess)') ;
$insert->execute() ;
;
if($insert) {
echo "true" ;
} else {
$db->errorCode() ;
echo "false" ;
}
$db->commit() ;
} catch(PDOExpection $e) {
$db->rollback() ;
die($e->getMessage()) ;
}
错误是SQLSTATE [42S22]:找不到列:1054 try2.php:31中“字段列表”中的未知列'$ Values'。我应该如何正确输入插入语句
最佳答案
只需在“”中使用字符串
$dbh->prepare("INSERT INTO register ($Keys) VALUES ($Valuess)")
因为变量内部'的行为类似于字符串,但变量内部'的值却被获取。
也改变
$Valuess = "'".implode("','", $Valuess)."'" ;
值必须以逗号分隔,例如'gaurav','sundaram'
关于php - SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“$ Values”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34632491/