【问题标题】:mysqli update works but insert doesn't [closed]mysqli 更新有效,但插入无效
【发布时间】:2013-06-09 02:19:24
【问题描述】:

我有一个包含 3 列的简单表格:

testID 是一个 INT(11) 自增主索引

name 是一个 VARCHAR 文本字段

位置是一个 INT(11) 字段

<?php
error_reporting(E_ALL);
require("mysqli.test.inc"); 

$name1="Rhonda Hotop"; $position1=456;
$name2="Perry Shafran"; $position2 = 789;
$sqlupdate = "UPDATE test SET name = ?, position =?"; 
$sqlinsert = "INSERT INTO test (name, position) VALUES (name = ?, position = ?)";
//create the connection to the database
$con = new mysqli($hostname,$username,$password,$database);
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
    }
//test an UPDATE
$statement = $con->prepare($sqlupdate);
$statement->bind_param("si", $name1, $position1);
$statement->execute();
$statement->close();
//test an INSERT
$statement = $con->prepare($sqlinsert);
$statement->bind_param('si', $name2, $position2);
$statement->execute();
$statement->close();
exit();

连接有效。

更新有效。

但是,INSERT 没有。它确实使用正确的 testID 字段创建了一条新记录,但 name2 和 position2 字段都设置为 0。

我们将不胜感激。

【问题讨论】:

    标签: php insert mysqli


    【解决方案1】:

    改变

    $sqlinsert = "INSERT INTO test (name, position) VALUES (name = ?, position = ?)";
    

    $sqlinsert = "INSERT INTO test (name, position) VALUES (?, ?)";
    

    【讨论】:

    • 非常感谢。测试和工作。我想我看过很多例子,我的眼睛根本没有看到。
    • @user2147001 非常欢迎您 :) 如果您正在寻找它,请考虑 accept 的答案。
    【解决方案2】:

    修改这一行

    $sqlinsert = "INSERT INTO test (name, position) VALUES (?, ?)";
    

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2017-09-05
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 2012-10-03
      相关资源
      最近更新 更多