解決済み: ローカルサーバーにPHPスクリプトを書き、テストしました。 (何も気にせず、同じデータベースに2つの連続したSQLインサートがありますが、テーブルは異なります)。SQLクエリはサーバーのテストでは動作しますが、実際には動作しません...違いは何ですか?
両方のサーバーが両方のクエリが正しく処理され、ローカルサーバでPHP5 & MYSQL 5.
を実行します。
ライブサーバーでは、最初のクエリのみが動作しますが、2番目のクエリは動作しません。理由はわかりません。ここで
コードです:私のローカルサーバー上
$sql_login = "INSERT INTO logintbl
(...)
VALUES (...)";
$result_login = mysqli_query($this->connect, $sql_login);
# Fill contact details
$sql_contactD = "INSERT INTO contactDetails
(...)
VALUES (...)";
$result_contactD = mysqli_query($this->connect, $sql_contactD);
、両方のクエリがtrueを返すと、データはデータベースに追加されます。
ライブサーバーで、最初のクエリは正常に動作しますが、2番目のクエリはエラーメッセージなしで失敗します。
もちろん、テーブル構造は両方のサーバーで同じです。両方のテーブルが同じデータベースにあり、ユーザーはデータベースに対して十分な権限を持っています。
何が問題なのでしょうか?
編集1:権限:はい、ユーザーは両方のテーブルに対して適切な権限を持っています。
編集2:私は非常に愚かな感じが、mysqli_errorを()チェックのジェームスのアドバイス、次の午前、私は本番サーバは、私のテストサーバーとは異なり、テーブル名に関しては、大文字と小文字を区別したことが判明し、その私のテーブル(contactDetails)の元の名前を小文字(contactdetails)に変換しました。
ご協力いただきありがとうございます。
エラーメッセージが表示されましたか? –
また、動作しないクエリを実行した後に、 "SHOW WARNINGS"を実行してください。これは、エラーよりも重大ではない警告に関する情報を返し、メッセージを照会するまでメッセージを表示しません。 –
mysqli_error()の出力も確認してください。テストサーバとプロダクションサーバは異なるマジッククォート設定を持っていますか?その他の設定? –