2017-01-29 4 views
-1

$rowsotには、1に等しい行数を格納しようとしています。どのように私はクエリとデータベースから1と等しい行を取得するのですか?

しかし、私のクエリが機能していない、誰かがなぜ$queryが動作していない理由を見ることができます。

私はちょうど行う場合、それは動作します:

$query = $mysqli->prepare("SELECT * FROM table1"); 

しかし、これはそうではありません。

$one = 1; 
 
    $connectie = verbinddatabase();  
 
    $query = $connectie->prepare(" 
 
       SELECT * FROM ticket WHERE inBehandeling = '$one'"); 
 
$query->execute(); 
 
$query->store_result(); 
 
$rowsot = $query->num_rows;

+1

あなたは "動作しない" に詳しく説明することはできますか?エラーが発生していますか?間違った結果ですか? – Mureinik

答えて

-1

使用PDOとあなたの価値をバインドするステートメントを準備。 mysqliの

$one = 1; 
$connectie = verbinddatabase();  
$query = $connectie->prepare("SELECT * FROM ticket WHERE inBehandeling = :one"); 
$query->bindParam(':one', $one, PDO::PARAM_INT); 
$query->execute(); 
$rowsot = $query->rowCount(); 

:また、あなたは'

PDOを必要としない

$one = 1; 
$connectie = verbinddatabase();  
$query = $connectie->prepare("SELECT * FROM ticket WHERE inBehandeling = ?"); 
$query->bind_param('s', $one); 
$query->execute(); 
$query->store_result(); 
$rowsot = $query->num_rows; 
+1

私はパラメータ化された値がより良いことに同意しますが、彼の例を見てもうまくいくはずです。クエリを連結することはできますが(たとえ落胆したとしても)、整数の周りに '' 'を使用するので、これは実際の問題の解決策ではないと思いますか? –

+0

mysqliメソッドは私のために働いた、ありがとうが、私は私がbind_paramでコードを変更した後にエコーするのを忘れてしまった –

関連する問題