0

私の PHP コードは、リモート Windows システムの mysql データベースに接続する際にうまく機能し、出力を返します。しかし、同じものを使用してリモート Linux システムの mysql データベースに接続すると、次のエラーが発生しました。

「mysql_query() は、パラメーター 2 がリソースであると想定しており、88 行目の C:\wamp\www\mysqldb.php で指定されたブール値です」

その 88 行目には、「$this->resultQur = mysql_query($query, $this->connID);」という内容があります。

これを解決するのを手伝ってください。

はい。この場合、リソースは null です。しかし、同じことがWindows mysql接続でも機能します。Linuxでのみエラーが発生しました。Linux 環境を変更する必要がありますか?

「print mysql_error();」を入れながら 次のエラーが発生しました

「接続先が一定時間後に適切に応答しなかったために接続に失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました。」

4

4 に答える 4

4

あなたが提供しているリソースは mysql_connect から来ていますが、それは成功しませんでした!

  • エラー報告をオンにする
  • スクリプトでいくつかの基本的なエラー処理を作成します
  • mysql_*使用しないでくださいmysqli_*PDO with parameter binding
于 2012-09-07T07:06:46.013 に答える
0

クエリの後にmysql_error()から返された文字列を出力します。そうすれば、実際のエラーが表示されます。

$this->resultQur = mysql_query($query, $this->connID);
print mysql_error();
于 2012-09-07T07:07:33.487 に答える
0

mysql_connect は成功するとリソースを返しますが、エラーの場合はブール値の「false」を返します。

接続の試行はおそらく失敗したため、mysql_query は成功しません。

次のようなことを試して、エラーの原因を正確に確認してください。

mysql_connect(..) or die(mysql_error());

さらに、「古い」 mysql-library get は PHP で非推奨になっているようで、より新しいバージョン ( mysqliPDOなど) に切り替えることをお勧めします。

于 2012-09-07T07:12:29.037 に答える
0

1. まず、ini_set('display_errors',1);error_reporting(E_ALL|E_STRICT); を入力します。ページの最初のコードで

2. クエリの前後に Try catch を配置し、例外メッセージを出力します

try { enter code here }catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }

3. PDO を使用してから、クエリに mysql オブジェクトを使用します。これは、最新のより優れたアプローチです。クエリの周囲で try catch を使用して、try

于 2012-09-07T07:40:55.503 に答える