ホームページ  >  記事  >  バックエンド開発  >  PHP の mysql 挿入リクエストはエラーを返しませんが、データベースは更新されません

PHP の mysql 挿入リクエストはエラーを返しませんが、データベースは更新されません

WBOY
WBOYオリジナル
2016-06-23 13:55:181061ブラウズ

以下のようなPHPコードがあります

$query = "insert into index_base (cardid, name, sex, nationality, birth, address, issued, expiration) values ($cardid, $name, $gender, $folk, $birthday, $addr, $agency, $expire)";mysql_query($query);if($buy=="1"){	$bid = mysql_insert_id();echo($bid);	$time=date("Y-m-d",time());	$time.=":1";	$query = "insert into index_b2a (bid, aid, `limit`, now) values ($bid, $aid, '$time', 1)";echo($query);	$result = mysql($query);	echo("result 为".$result);	if(mysql_affected_rows()==1)die("1");	else die("0");}


echoとdieで返された値に従って、 request $query = "index_b2aに挿入 (bid, aid, `limit`, now) 値 ($bid, $aid, ' $time', 1)"; これは絶対に正しいはずです。$result は 1、影響を受ける行も 1 です。
しかし、データベース内で、挿入されたエントリが見つかりません。

echo($query) を追加しました。出力されたリクエストは、index_b2a (bid、aid、`limit`、now) 値 (102631, '89', '2014-06-13:1', 1 )、mysql を直接入力すると、もちろん正しく実行され、データベースを更新すると、挿入されたエントリがすぐに表示されます。

limit はキーワードなので、引用符として「」を追加しました。
エラーが発生しないように、89 の外側の引用符も削除され、2014-06-13:1 の値も変更され、その後のコロンと数字の 1 が削除されます。
次に実行します:
mysql では動作しますが、php では動作しませんが、戻り値は実行が成功したことを示します。

何が問題なのかわかりませんか?


ディスカッションに返信 (解決策)

$result = mysql($query); その中に mysql() はありますか?それとも間違いですか?

echo mysql_error(); エラーがあるかどうかを確認します。

間違ったデータベースに入力されましたか?

$result = mysql($query); これは何ですか?

私も同じ問題に遭遇しました。挿入も更新も完了できませんでした。

私も同じ問題に遭遇しました。挿入も更新も完了できませんでした。



検索しても何も見つかりませんでした。最終的に、MySql API ドキュメントを作成し、コードを見つけて、対応するフィールドを変更しました。ステートメントの文字に問題があるはずです(わかりません...)。

挿入できる私のコードを添付します。内容を変更して試してみて、問題を解決できることを願っています。プログラムの実行 結果
勉強、勉強、勉強

mysql_query(query,connection);

データベースに接続されていないのでしょう。

mysql でテストが成功した場合、ステートメントに問題がないことを意味します。ただし、mysql でのテストは実際にはデータベースがすでに接続されているときに行われます。

ただし、php ページで最初に行う必要があるのは、データベースに接続して接続パラメーターを追加することです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:php APIについて次の記事:php APIについて