簡體   English   中英

如何使用MySQL在PHP中執行多個更新查詢?

[英]how to execute multiple update queries in PHP using MySQL?

我必須使用PHP的mysql_query()函數在單個查詢中執行多個更新查詢。 我附加多個更新語句以形成單個查詢,以將參數傳遞給mysql_query()函數。 因此,最后我得到了一個組合查詢,但是發現它是錯誤的。 當我在執行過程中當時運行該查詢時,出現錯誤,顯示為“無效查詢”。 我不了解發生了什么問題,因此請在此問題中幫助我。 我遭受如此嚴重的痛苦。 我已經盡力了。 我正在提供我的代碼以供參考。

在這里,我通過querystring獲取變量的值

我的querystirng: localhost/ticker/publish-ticker.php?i=1,2,3&j=3,4

if(isset($_GET['i']))
{
    $selected_tickers = $_GET['i']; 
}

if(isset($_GET['j']))
{
    $selected_twitters = $_GET['j'];    
}  

我在這里形成查詢

$sql2 = "";
if(count($sel_ticker_array) > 0 )
{
foreach($sel_ticker_array as $value2)
{
    $tid1 = preg_replace('/[^0-9]/','', $value2);                               
    $sql2 .= "update tbl_ticker2 set ticker_flag=0 where id!=$tid1;";

}



foreach($sel_ticker_array as $value)
{
    $tid3 = preg_replace('/[^0-9]/','', $value);                                
    $sql2 .= "update tbl_ticker2 set ticker_flag=1,last_used='$todaysdate' where id=$tid3;";

}

}


if(count($sel_twitter_array) > 0)
{
foreach($sel_twitter_array as $value)
{
    $tid = preg_replace('/[^0-9]/','', $value);                             
    $sql2 .= "update tbl_ticker2 set twitter_flag=0 where id!=$tid;";

}



foreach($sel_twitter_array as $value)
{
    $tid = preg_replace('/[^0-9]/','', $value);                             
    $sql2 .= "update tbl_ticker2 set twitter_flag=1,last_used='$todaysdate' where id=$tid;";

}
}

在這里,我正在執行它,但輸出為“無效查詢”

$query3 = mysql_query($sql2);

    if(!$query3)
    {
        die("Invalid Delivery");
    }
    else
    {
        echo '<script>';
        echo 'alert("Ticker Updated Successfully");';
        echo 'location.href="add_ticker.php"';
        echo '</script>';         

    }

請幫我。

您無法使用PHP中的常規mysql-api來做到這一點。

mysql_query()將唯一查詢(不支持多個查詢發送到與指定的link_identifier關聯的服務器上當前活動的數據庫。

可以使用mysqli和mysqli_multi_query()函數來完成。

還讀:

手冊指出您不能將其用於多個查詢。

http://php.net/manual/zh/function.mysql-query.php

您可以為此使用mysqli或pdo。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM