解決済み - 愚かな私....コメント投稿者による指摘のおかげで、 $mysqli->error は、私が mysql ユーザーに DELETE 権限を付与していないことを明らかにしました。それを追加した後、すべてが順調です。
このクエリを実行できないようです。DB への接続は成功しましたが、ログにエラーが表示されていないにもかかわらず、「custom_messages」テーブルの行を削除できませんでした... 方法 1:
<?php
// get form.html input
$var1 = $_POST["var1"];
$var2 = $_POST["var2"];
$mysqli = new mysqli($_SERVER['DB_HOST'], $_SERVER['DB_USER'], $_SERVER['DB_PASS'],"theDB");
if ($mysqli->connect_errno) {
printf ( "Connect failed: %s\n", $mysqli->connect_error );
exit ();
} else {
printf ( "DB Connection Established.\n" );
if ($mysqli->query (sprintf ( "DELETE FROM custom_messages WHERE var1='%s' && var2='%s'", mysql_real_escape_string ( $var1, $var2 ) ) )) {
printf ( "%d rows deleted.\n", $mysqli->affected_rows );
}
//close DB connection
$mysqli->close();
?>
また、同じ結果で方法 2 も試しましたが、行は削除されませんでした。それは「1」をエコーするところまで取得します..
<?php
// get form.html input
$var1 = $_POST["var1"];
$var2 = $_POST["var2"];
$mysqli = new mysqli($_SERVER['DB_HOST'], $_SERVER['DB_USER'], $_SERVER['DB_PASS'],"CCv2");
if ($mysqli->connect_errno) {
printf ( "Connect failed: %s\n", $mysqli->connect_error );
exit ();
} else {
printf ( "DB Connected.\n" );
$stmt = $mysqli->prepare("DELETE FROM custom_messages WHERE var1=? AND var2=?");
echo "one\n";
$stmt->bind_param('ss',$var1, $var2);
echo "two\n";
$stmt->execute();
$stmt->close();
printf ( "%d rows deleted.\n", $mysqli->affected_rows );
//close DB connection
$mysqli->close();
?>
ここで本当に頭を悩ませています。どんな助けでも大歓迎です!