[英]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()函數來完成。
還讀:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.