php
  • mysql
  • variables
  • http-post
  • 2016-04-10 8 views 0 likes 
    0

    を使用しているとき、私はこのようにそれを行う際に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"]; 
    
    +0

    ...二回変数名を使用しても、いくつかの構文の間違いを持っ​​ていた。..

    変更する$ username、今では動作します。 $ value'を実行し、より多くのエラーとsql-ijectionを準備します。 –

    +0

    とwrap varを引用符で囲みます – splash58

    +0

    SQLクエリにエラー報告を追加すると、構文が無効になります。また、SQLインジェクションの脆弱性を緩和するために、パラメータ化された/準備されたクエリを使用する必要があります。 – JimL

    答えて

    1

    あなたのコードが間違っているので: - >これを使用.... $ SQL1 = 'LIKEユーザー名SELECT * FROM "' $ユーザ名。。 '"' ;

    +0

    likeとusernameの間に空白がありません – JimL

    +0

    これは問題ではありません –

    +0

    これは正しく実行されます –

    1

    lakhvir kumarのおかげで! `「LIKE」:私はスペースを追加

    関連する問題