2017-05-07 127 views
0

如何運行SELECT查詢至極挑選一個ID至極我用它來刪除行中的另一個表與ID,並隨後刪除該ID的排它自己的表?如何在PHP中的另一個SQL查詢中運行SQL查詢?

我迄今爲止代碼:

$sqel = "SELECT fldRadioCampID FROM tblradiocamp WHERE fldBestelID = '$urlIDbon' AND fldSpotnaam = '$urlDelSpotnaam'"; 
    $result = mysql_query($link, $sqel); 

if (mysql_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysql_fetch_assoc($result)) { 
     $sqeldelreg = "DELETE FROM tblradioregio WHERE fldRadiocampRegID=" . $row['fldRadioCampID']; 

    if (!mysql_query($sqeldelreg)) { 

    echo "Error: " . $sqeldelreg . "<br>" . mysql_error($link); 

} 
    } 
} else { 
} 
$sqeldel = "DELETE FROM tblradiocamp WHERE fldBestelID='$urlIDbon' AND fldSpotnaam='$urlDelSpotnaam'"; 

    if (!mysql_query($sqeldel)) { 

    echo "Error: " . $sqeldel . "<br>" . mysql_error($link); 

我覺得我的問題的意思很明顯,如果不是請在下面評論下來,任何幫助表示讚賞!

+0

您將需要3個查詢。首先,選擇獲取記錄標識符。然後,刪除這兩個表中的每一個。 –

+0

請刪除此並在轉儲mysql_ *函數並學習如何使用PDO和參數綁定之後啓動一個新的函數。然後閱讀加入。隨訪加入刪除 – e4c5

+0

@DanBracuk,我有,首先一個SELECT查詢至極我用得到的ID,然後我運行另一個查詢來查找在第二表ID和刪除這些行,然後是第三個要刪除的ID在桌子本身。這不正確嗎? –

回答

0

您可以創建程序,並調用它一次。

MYSQL

CREATE PROCEDURE `deleteRowById` (in urlDelSpotnaam varchar(64), in urlIDbon varchar(64)) 
BEGIN 
declare a int(11); 
SELECT fldRadioCampID into a FROM tblradiocamp WHERE fldBestelID = urlIDbon AND fldSpotnaam = urlDelSpotnaam; 
if a > 0 then 
DELETE FROM tblradioregio WHERE fldRadiocampRegID=a; 
DELETE FROM tblradiocamp WHERE fldRadioCampID=a; 
END IF; 
END 

PHP

<?php 

$sqel = "call deleteRowById('$urlDelSpotnaam','$urlIDbon')"; 
$result = mysql_query($link, $sqel); 
+0

我不知道這是我想要的東西,因爲如果A = 0,它仍然需要從父表中刪除ID。 –