parametre MySQL

3 Cevap php

Kullanıcı daha sonra "elma, portakal, armut" bir dizeye birleştirmek olan birden fazla (onay kutusu) seçeneğini kontrol zaman

SELECT id, pos, FROM $db WHERE dtime>='$now' AND jsub IN ('$arr[1]') ;

I [1], o düzgün çalışamayacak dizi $ için dize geçirdiğinizde, nasıl diziye bölmek ve doğru işlemek için fonksiyonu MySQL alabilirim?

3 Cevap

kullanın:

    $str = "SELECT id, pos, FROM $db
            WHERE dtime>='$now' AND jsub IN ('".explode(',',$arr."')";

ve daha önce parametreleri sterilize unutma ...

Kullan FIND_IN_SET.

SELECT id, pos, FROM $db WHERE dtime>='$now' AND FIND_IN_SET(jsub, '$arr[1]')

soru WAY belirsizdir, ama sizin gibi bir şey istiyorum şüpheli

foreach ($arr as $key => $item) $arr[$key] = mysql_real_escape_string($item);
$in = "'".implode("','",$arr);
$sql = "SELECT id, pos, FROM $db WHERE dtime>='$now' AND jsub IN ($in)";

Ama adam, ben hate tahmin.

Why don't you get yourself a static query, without any PHP code?
To see, if it ever works?
If not - ask on SO for the proper query. SQL query, not PHP code.
If yes - write a PHP code that produces the exact query.
Compare to the example one.
If failed - ask on SO for the PHP code, providing an example of the resulting query and an array.

Takip etmek çok zor kuralları var mı?