mysqli がフィールド エラーのプロンプトを表示しないのはなぜですか
この投稿の最終編集日は 2015-08-29 21:48:01 mysql ではなく mysqli が使用されることに注意してください (mysql にはプロンプトがあります)
例:
query("update {$tpre}member set ttid='2000' where userid123='10000'");
ログイン後にコピー
フィールド userid123 はありません。実行すると、更新はありませんが、エラーは表示されません
これにエラーがないことを表示するにはどうすればよいですか?フィールド
MYSQL5.7、php5.6 を使用
-----ソリューションのアイデア-------------- ------- オブジェクト指向スタイルのエラースロー:
<br /><?php<br />$mysqli = new mysqli("localhost", "my_user", "my_password", "world");<br /><br />/* check connection */<br />if ($mysqli->connect_errno) {<br /> printf("Connect failed: %s\n", $mysqli->connect_error); //mysql连接错误抛出<br /> exit();<br />}<br /><br />if (!$mysqli->query("SET a=1")) {<br /> printf("Errormessage: %s\n", $mysqli->error); //mysql查询错误抛出<br />}<br />?><br />
ログイン後にコピー
プロセス指向スタイルのエラースロー:
<br /><?php<br />$link = mysqli_connect("localhost", "my_user", "my_password", "world");<br /><br />/* check connection */<br />if (mysqli_connect_errno()) {<br /> printf("Connect failed: %s\n", mysqli_connect_error());<br /> exit();<br />}<br /><br />if (!mysqli_query($link, "SET a=1")) {<br /> printf("Errormessage: %s\n", mysqli_error($link));<br />}<br /><br />?><br />
ログイン後にコピー
----- -解決策のアイデア----- ------------------<br />$mysqli = new mysqli("localhost", "my_user", "my_password", "world");<br /><br />/* check connection */<br />if (mysqli_connect_errno()) {<br /> printf("Connect failed: %s\n", mysqli_connect_error());<br /> exit();<br />}<br /><br />// $mysqli->affected_rows 取得前一次 MySQLI 操作所影响的记录行数<br />$mysqli->query("update {$tpre}member set ttid='2000' where userid123='10000'");<br />printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);<br />
ログイン後にコピー
$mysqli->affected_rows mysqli では、以下を取得できます。前回の MySQLI 操作によって影響を受けたレコード行の数