簡體   English   中英

在一個PHP文件中運行2個MySQL更新查詢

[英]Run 2 MySQL update queries in one PHP file

我試着跑

// Create connection
$conn = new mysqli($servername,$username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE pm_videos SET `description` = REPLACE(  `description` ,'Facebook',  '')";
$sql = "UPDATE pm_videos SET `description` = REPLACE(  `description` ,'Twitter',  '')";

if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " .  $conn->error;
}
$conn->close();

但只有Twitter被取代。 我是PHP新手。 也許有人可以幫我解決這個問題。 謝謝。

$conn->query($sql)語句運行您的查詢。 您將在運行前覆蓋第一個$sql (Facebook中的第一個)。 你想做類似的事情

$sql = "UPDATE pm_videos SET `description` = REPLACE(  `description` ,'Facebook',  '')";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully with Facebook";
} else {
    echo "Error updating record: " .  $conn->error;
}
$sql = "UPDATE pm_videos SET `description` = REPLACE(  `description` ,'Twitter',  '')";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully with Twitter";
} else {
    echo "Error updating record: " .  $conn->error;
}

您的第一個查詢將不會執行,因為$ sql字符串將被覆蓋,最終您僅執行第二個查詢。

由於您多次執行同一查詢(僅更改參數),因此建議您使用准備好的語句和占位符,如下所示:

$sql = "UPDATE pm_videos SET `description` = REPLACE(`description`, ?,  '')";

$conn = new mysqli($servername,$username, $password, $dbname);
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $content);

$content='facebook';
$stmt->execute();

$content='twitter';
$stmt->execute();

$stmt->close();
$conn->close();

(我刪除了所有錯誤檢查,您可能想添加自己的錯誤檢查例程)。

暫無
暫無

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

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