[ad_1]
以下の問題に直面しています。
引用:致命的エラー: キャッチされません TypeError: mysqli_query(): 引数 #1 ($mysql) は、C:\location:18 で指定された mysqli、bool 型でなければなりません スタック トレース: #0 C:\location(18): mysqli_query(true, ‘ select*from `us…’) #1 {main} が 18 行目の C:\location にスローされます
整理してください。
以下はコードです。
<?php $dbhost="localhost"; $dbuser = "root"; $dbpass = "password"; $mysql = mysqli_connect($dbhost, $dbuser, $dbpass, 'userlogin'); if($mysql = true){ echo "Connection Succesful!"; } else{ die(mysqli_error); } if(mysqli_query($mysql, 'select*from `user info`')){ echo "<br> ERROR SOLVED FOREVER!"; }else{ echo "<h1><br><br> THIS IS AN ERROR!".mysqli_error'</h1>' } ?>
注: 問題は 18 行目のみです。接続テストでは正常に動作しました。
ありがとう。
私が試したこと:
$mysql を mysqli_connect($dbhost, $dbuser, $dbpass, ‘userlogin’); に置き換えます。 代わりに、mysqli_query() 関数内の 18 行目にあります。 。 出来た。
解決策 1
疑問がある場合は、マニュアルをお読みください。 PHP:mysqli_connect – マニュアル[^] こう書かれています。
引用:mysqli 例外モードが有効になっておらず、接続が失敗した場合、mysqli_connect() はオブジェクトの代わりに false を返します。
それは「成功したら戻る」とは違います。 true
」。
成功すると、ブール値ではなく、使用できる接続オブジェクトが返されます。
チェックするテストを変更します。 false
の代わりに true
解決策 2
if(isset($_SESSION[‘check_login’]))
{
header(‘location:dashboard.php’);
}
[ad_2]
コメント