Thisi ¼ Ÿ gibi sql nasıl güncellenir

2 Cevap php

Hey, ben bu sql güncelleştirmeyi çalıştırmak istiyorum, bir sorun var, ama çalışmıyor. Herkes bana yardımcı olabilir mi? Teşekkürler!

Kodu:

$temp = $_GET['ul'];

foreach ($temp as $key=> $value)
{
    $str=array();
    $arr=explode(',',$value); 
    $str =array($key=>$arr);

    for($i=0;$i<count($str[$key]);$i++)
    {
        $tripID='2';                    
        $sql = "UPDATE places_trips 
                SET orderNo='$i', ColumnNo='$key' 
                WHERE place_id=" . $str[$key][$i] . "
                AND trip_id=" . $tripID;
        mysql_query($sql);
        }
    } 
}

I = 2 $ tripID ayarlamak istiyorum, ama aslında, $ tripID = 2222. Peki nasıl $ tripID = 2 her zaman yapmak için?

2 Cevap

Sorgunuz trip_id değişmez. . Bu satırlar where trip_id 2 I doğru anlamak, sizin sorgunun ilk bölümünde koymak gerekir için OrderNo ve sutun_no değiştirmeye çalışır:

"UPDATE places_trips SET orderNo = '$i', ColumnNo = '$key', trip_id = $tripID WHERE place_id = ".$str[$key][$i];

Söyleniyor, hakkında okumak SQL injections. Geçerli kod derece tehlikelidir çünkü buna ihtiyacım var.

Ben bu ne peşinde olduğunu umut:

UPDATE places_trips SET
    orderNo = $i,
    ColumnNo = $key
WHERE place_id = $str[$key][$i]
AND trip_id RLIKE '^2+$';

Trip_id sadece 2 s içeren tüm satırları güncelleştirmek gerekir.

Ayrıca SQL Injections için StackOverflow arama, kod onlara açıktır.