我有一個表格,用戶應該輸入數據(名稱,街道名,街道號),然後我想檢查表中是否存在該數據(名稱,街道名+街道號)所以我可以使用該行而不是製作一個新的。 有沒有一種簡單的方法來做到這一點,或者我將不得不將數據提取到數組中並以某種方式進行搜索?查找傳入的數據是否存在於sql表中
我有這樣的代碼:
$sql = "INSERT INTO 725G54_proj_address VALUES (NULL,'$streetname','$streetnumber')";
$result1 = mysql_query($sql,$con);
$address=mysql_insert_id();
echo "ID of last inserted record is: " . $address;
echo "<br>";
$sql = "INSERT INTO 725G54_proj_contact VALUES ('Null','$name','$telephonenumber')";
$result2 = mysql_query($sql,$con);
$contact = mysql_insert_id();
echo "ID of last inserted record is: " . $contact;
$sql = "INSERT INTO 725G54_proj_LivesAt VALUES ('$contact','$address')";
$result3 = mysql_query($sql,$con);`enter code here`
什麼,我想是是找出是否例如主街31 proj_address媒體鏈接存在,如果這樣做,利用其自動遞增的ID爲插入到proj_Lives_at。
編輯: 我決定發送查詢來檢查數據是否存在。 我加載到一個變量,並檢查它是否爲空,但有一些問題,以便「如果(空)」不工作,因爲它應該。另一種方式(「if(!empty)」)可以工作。
查詢和加載看起來像這樣:
$sql2="SELECT 725G54_proj_address.Address_ID, GROUP_CONCAT(cast(concat(725G54_proj_address.Street_Name, ' ', 725G54_proj_address.Street_Number) AS char) SEPARATOR ', ') AS addresses
FROM 725G54_proj_address
WHERE 725G54_proj_address.Street_Name = '$streetname' AND 725G54_proj_address.Street_Number= '$streetnumber'
GROUP BY 725G54_proj_address.Address_ID
ORDER BY 725G54_proj_address.Address_ID ASC";
$result2=mysql_query($sql2);
編輯2: 我曾嘗試切換到使用count(),而不是空的(),它作爲發現即使當填充它不應該變。
您將不得不讀取該行,如果該行不存在,則將輸入數據插入表中。 – suspectus
您必須獲取數據並進行比較。你還有什麼比較? – user1
@ user1我的意思是說,在sql中有一些方法可以做到這一點,或者如果我不得不把它拿到php並做到這一點。 –