簡體   English   中英

從表單更新sql表中的數據-數據必須唯一

[英]Update data in sql table from form - data must be unique

到目前為止,我只學習了php和sql的基礎知識,並且在這里需要一些指導。 我有以下代碼來更新sql表中的一行中的數據-正常工作:

<?php

$hostname = "localhost";//host name
$dbname = "dpuqsevb_tnysx";//database name
$username = "dpuqsevb_user";//username you use to login to php my admin
$password = "password";//password you use to login

//CONNECTION OBJECT
//This Keeps the Connection to the Databade
$conn = new MySQLi($hostname, $username, $password, $dbname) or die('Can not connect to database')      
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>

<?php
if(isset($_POST['Submit'])){//if the submit button is clicked

$url_code = $_POST['url_code'];

$update = "UPDATE url_urls SET url_code='$url_code' WHERE id = 7";

$conn->query($update) or die("Cannot update");//update or error

}

?>

<?php

//Create a query

$sql = "SELECT * FROM url_urls WHERE id = 7";

//submit the query and capture the result

$result = $conn->query($sql) or die(mysql_error());

$query=getenv(QUERY_STRING);

parse_str($query);

?>

<form action="" method="post">

<?php

while ($row = $result->fetch_assoc()) {?>

<table border="0" cellspacing="10">

<tr>

<td><input type="text" name="url_code" value="<?php echo $row['url_code']; ?>"></td>

</tr>

<tr>

<td><INPUT TYPE="Submit" VALUE="Update the Record" NAME="Submit"></td>

</tr>

</table>

<?php   }
?>

</form>

<?php
if($update){//if the update worked

echo "<b>Update successful!</b>";

}  
?>

但是我希望腳本檢查其他行,以便沒有$ url_code的重復-換句話說$ url_code必須是唯一的。

最簡單的解決方案是在數據庫url_codeurl_codeUNIQUE

現在,一旦您嘗試在url_code已經存在url_code插入一個值,查詢就會失敗。 也可以通過PHP完成此操作,但我確實建議使用SQL解決方案-您的數據庫已針對此類工作進行了優化。

暫無
暫無

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

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