我知道我不能在插入語句中使用WHERE子句,但我需要排除某些條目插入到我的表中。這是我正在與什麼工作:從PHP中插入具有特定值的項目使用PHP
foreach($json['Meetings'] as $meet) {
$add1 = $meet['AddressLine1'];
$add2 = $meet['AddressLine2'];
$cpid = $meet['CongressPersonID'];
$cpsd = $meet['CongressPersonStateDistrict'];
$start = $meet['Start'];
$end = $meet['End'];
$loc = $meet['Location'];
$meetwith = $meet['MeetingWith'];
$name = $meet['Name'];
$ph = $meet['PhoneNumber'];
$meetid = $meet['Id'];
$status = $meet['Status'];
$sql = "INSERT INTO Meetings (AddressLine1, AddressLine2, CongressPersonID, CongressPersonStateDistrict, End, Location, MeetingWith, Meeting_Id, Name, PhoneNumber, Start, Status)
VALUES ('$add1', '$add2', '$cpid', '$cpsd', '$end', '$loc', '$meetwith', '$meetid', '$name', '$ph', '$start', '$status')";
我有一個JSON文件,我通過PHP解析,它的插入很好,我的數據庫。
我唯一關心的信息是狀態。這個值可以是「確認」或「不需要」。
我只想插入行,如果Status =「確認」。
真的,我想排除那些在過程中儘早未被確認的條目。我在這方面還不是很有經驗。我想到的
一種解決方法是插入的一切,然後立即進入並刪除其中的狀態!=「確認」,但似乎像一個innefficient方式做到這一點的任何條目。
你可以簡單地添加一個檢查,比如'如果($符合[ '狀態'] == '確認')', –
你的代碼很可能易受[** SQL注入**](HTTPS:/ /en.wikipedia.org/wiki/SQL_injection)攻擊。你應該使用[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)或[** PDO **](https://secure.php.net/ manual/en/pdo.prepared-statements.php)準備帶有綁定參數的語句,如[**這篇文章**]所述(https://stackoverflow.com/questions/60174/how-can-i-prevent-sql步噴射功能於PHP)。 –