0

MySQL で準備されたクエリに問題があります。特にUPDATEとINSERT。

$mysqliStmt->execute();

テーブルを更新または挿入しません。stmt の結果を提供するだけです。エラー、警告などはありません。(下記参照)

私が使用する挿入クエリ:

INSERT INTO testdatabase.`test` (`test1`, `test2`) VALUES(?, ?)

更新クエリ:

UPDATE testdatabase.`test` SET `test1` = ? WHERE `id` = ? LIMIT 1

結果情報(更新):

'fieldCount' => 0,
'affectedRows' => 1,
'numRows' => 0,
'paramCount' => 2,
'insertId' => 0,
'sqlstate' => '00000',
'threadId' => 5291,
'errno' => 0,
'error' => '',
'warningCount' => 0,
'warnings' => false
'connectErrno' => 0,
'connectError' => NULL,
'hostInfo' => 'Localhost via UNIX socket',
'protocolVersion' => 10,
'serverInfo' => '5.1.49-3',
'serverVersion' => 50149,
'clientInfo' => '5.0.27',
'clientVersion' => 50027,
'info' => 'Rows matched: 1  Changed: 1  Warnings: 0'

コード:

$stmt = self::$_connection->prepare($query);
//binds params -> like/with $stmt::bind_param() but more generic
$this->_bindParameters($stmt) 
$stmt->execute();

更新/挿入データをデータベースに保存する必要がありますか、それとも間違っていますか?

phpMyAdmin または MySQL コンソールを使用してクエリの結果を確認すると、データベース テーブルは更新されず、新しいデータも挿入されませんでした。

4

0 に答える 0