を使用しているとき、私はこのようにそれを行う際にMySQLの要求が正常に動作し機能していない:PHP MySQLのリクエストが変数
$sql1 = 'SELECT * FROM user WHERE username LIKE "test"';
が、私はこのような変数を使用する場合、それはエラーを与える:
$username = $_POST["username"];
$sql1 = 'SELECT * FROM user WHERE username LIKE'.$username;
エラー:$username
の
Fatal error: Call to a member function
fetch_assoc()
on boolean...
var_dump
が得られます。
string(4) "test"
ありがとうございました!
これまでの全コード:
$username = $_POST["username"];
var_dump($username);
include 'data.php';
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql1 = 'SELECT * FROM user WHERE username = "'.$username.'"';
$result1 = $conn->query($sql1);
$row1 = $result1->fetch_assoc();
echo $row1["ID"];
...二回変数名を使用しても、いくつかの構文の間違いを持っていた。..
変更する$ username、今では動作します。 $ value'を実行し、より多くのエラーとsql-ijectionを準備します。 –
とwrap varを引用符で囲みます – splash58
SQLクエリにエラー報告を追加すると、構文が無効になります。また、SQLインジェクションの脆弱性を緩和するために、パラメータ化された/準備されたクエリを使用する必要があります。 – JimL