【问题标题】:INSERT into mysql DATABASE Prepared Statments插入 mysql 数据库准备语句
【发布时间】:2018-06-27 10:30:50
【问题描述】:

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

我确实让它工作了,但现在我在 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个问号太多了!
  • k,但它并没有告诉我错误。我检查一下。
  • 警告:PDOStatement::execute(): SQLSTATE[HY093]:无效参数编号:绑定变量的数量与 D:\xampp\htdocs\Vbay\html\posteditSENDdata 中的标记数量不匹配。 php 在第 356 行没有。

标签: php mysql insert


【解决方案1】:

您的 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

然后在执行函数的数组中,定义这些键的值。

希望对你有帮助。

【讨论】:

  • 但是关于 OVER 1000 FIELDS 的错误是什么,如果不是这样的话。
  • 好吧抱歉,执行后再尝试获取。
  • 哦,对不起,这不是你的错误,我的数据库中有一段时间出现此错误,不知道为什么或如何摆脱它。
猜你喜欢
  • 2017-09-19
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多