插入mysql数据库准备语句

时间:2018-06-27 10:30:51

标签: php mysql insert

任何人都可以看到为什么它没有输入到我的数据库中吗。

我确实有它的工作原理,但是现在我在mysql上遇到了错误。此字段上的表单有1000多个字段,但是它们都不起作用。...

这是准备声明

$db = new PDO("mysql:host=localhost;dbname=class2", 'root', ''); 


$query="INSERT INTO `testdata` (`1st name`, `2nd name`, `title`, `info`, `location`, `phone`, `postcode`, `image`, `image2`, `image3`, `image4`, `image5`, `price`, `catagory`, `cond`, `delivery`, `email`, `username`, `youtubevideo`, `paypal`, `facebook`, `twitter`, `feedbackscore`) 
                         VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";


$stat=$db->prepare($query);

$stat->execute(array("$firstname","$lastname","$sellingtitle","$sellinginfo","$town","$phone1","$postcode","$i0url","$i1url","$i2url","$i3url","$i4url","$price","$catagory","$cond","$delivery","","$sellername","$youtubeurl","$paypal","$facebook","$twitter","feedbackscore"));

1 个答案:

答案 0 :(得分:0)

您的PDO准备不正确。

$database = new PDO("mysql:host=localhost;dbname=class2", 'root', ''); 

$query = "UPDATE users SET first_name = :first_name, last_name = :last_name
                                                 WHERE user_id = :user_id";

$update = $database->prepare($query);
$update->execute([
    ':first_name' => $_POST['firstname'],
    ':last_name' => $_POST['lastname'],
    ':user_id' => $_SESSION['user_id'] 
]);
$update->fetch();

使用PDO,您可以在准备字符串中定义值的键,例如:first_name

因此,然后在execute函数的数组中,定义这些键的值。

希望有帮助。