2011-12-07 23 views
0

私はPHPで簡単なクエリを持っていますが、私はLikeを動作させることができません。 1についてはPHP/mySQLのような機能が動作しません

$var = $_GET['q']; 
$trimmed = trim($var); 
$query = "SELECT * FROM vm_regiony WHERE nazev LIKE "%$trimmed%" order by id  LIMIT 10"; 
$result = mysql_query($query); 
if(mysql_num_rows($result)==0){ 
    echo "nothing"; 
    echo "<br />"; 
    echo $trimmed; 
}else{ 
    while($rene=mysql_fetch_array($result)){ 
    $jmeno = $rene['nazev']; 
    echo '<a id="hled" onclick="javascript:vybrat()">'.$jmeno.'</a>'; 
+0

くださいフォーマッティング少しコード:ここで

はコードです。それは私の目を傷つける。 – rdlowrey

+0

私はちょうどそれを修正しようとしていました。笑LOOKは単語を理解できませんでした.. – Andres

+0

[SQL Injection](http://en.wikipedia.org/wiki/SQL_injection)に脆弱なスクリプトを書いていることに注意してください。脆弱性はSQLクエリのユーザ提供の変数のいずれも浄化していないためです。これらの脆弱性を防ぐには、[PHP Prepared Statements](http://php.net/manual/en/pdo.prepared-statements.php)を使用してください。ありがとう。 – sarnold

答えて

5

あなたは、単一引用符を使用する必要があり

$query = "SELECT * FROM vm_regiony WHERE nazev LIKE '%$trimmed%' order by id LIMIT 10"; 
+0

ええ、ありがとう、本当に素早く答えてくれてありがとう! –

+0

二重引用符をエスケープしますが、一重引用符は簡単です:-) –

+0

問題ありません。 –

0
$query = "SELECT * FROM vm_regiony 
      WHERE nazev LIKE '%' . $trimmed . '%' 
      ORDER BY id LIMIT 10"; 
関連する問題