基本的に、テーブル内の複数の値を更新しようとしています。これについて最善の方法は何でしょうか?現在のコードは次のとおりです。
$postsPerPage = $_POST['postsPerPage'];
$style = $_POST['style'];
mysql_connect ("localhost", "user", "pass") or die ('Error: ' . mysql_error());
mysql_select_db ("db");
mysql_query("UPDATE settings SET postsPerPage = $postsPerPage WHERE id = '1'") or die(mysql_error());
私が含めたい他のアップデートは次のとおりです。
mysql_query("UPDATE settings SET style = $style WHERE id = '1'") or die(mysql_error());
ありがとう!
カンマ区切りで複数の列を追加します。
UPDATE settings SET postsPerPage = $postsPerPage, style= $style WHERE id = '1'
ただし、入力をサニタイズしていませんか?これは、ランダムなハッカーがデータベースを破壊する可能性があることを意味します。この質問を参照してください: PHPでユーザー入力をサニタイズするための最良の方法は何ですか?
また、スタイルは数値または文字列ですか?文字列を想定しているので、引用符で囲む必要があります。
値をカンマで区切ります:
UPDATE settings SET postsPerPage = $postsPerPage, style = $style WHERE id = '1'"
PDOを使用している場合、次のようになります。
$sql = "UPDATE users SET firstname = :firstname, lastname = :lastname WHERE id= :id";
$query = $this->pdo->prepare($sql);
$result = $query->execute(array(':firstname' => $firstname, ':lastname' => $lastname, ':id' => $id));
私はあなたが使用できると思います:
$con = new mysqli("localhost", "my_user", "my_password", "world");
$sql = "UPDATE `some_table` SET `txid`= '$txid', `data` = '$data' WHERE `wallet` = '$wallet'";
if ($mysqli->query($sql, $con)) {
print "wallet $wallet updated";
}else{
printf("Errormessage: %s\n", $con->error);
}
$con->close();