假設您有網站,用戶可以提交他們的姓名以參與某些類。用戶將填寫表單,然後點擊提交,然後點擊他們的姓名和電話號碼會去一個MySQL數據庫中的表格。我想要做的事情是,我想阻止用戶通過檢查電話號碼是否相同來提交他/她的名字兩次(我知道這是愚蠢的,但我只是說作爲一個例子)。所以,我該怎麼辦,我用這個方法來插入表單數據到數據庫:不允許在mysql表中插入同一行數據
$pdo = new PDO('mysql:host=localhost;dbname=form', 'formuser', 'password');
$fname = $_REQUEST['fname']; //first name from the form
$lname = $_REQUEST['lname']; //last name from the form
$pnumber = $_REQUEST['pnumber'] //phone number from the form
$query = 'INSERT INTO list SET
firstname = "' . $fname . '",
lastname = "' . $lname . '",
phonenumber ="' . $pnumber . '",
date = CURDATE()';
$pdo->exec($query);
而且我知道這是不是將數據插入到一個安全的方式數據庫。我試圖找出一種方法,然後爲s部署更好的解決方案泄露數據。
使用pdo並不意味着你從sql注入是安全的你的代碼仍然容易受到sql注入的影響你需要使用prepared語句 –
正如我所說的,我知道這段代碼是不安全的。我只是跳過了準備好的語句和其他安全的東西),以簡化代碼。但謝謝反正 – roostaamir
瘋狂的想法。如果你想查看錶中是否存在數據,請嘗試'選擇'它。 'SELECT COUNT(*)FROM list where phonenumber =?'。 – DCoder