我嘗試創建一個簡單的註冊系統。然而,我發現了一個問題,我插入數據庫的所有數據都變成了數字。 當我通過php插入這些數據時,不是命令提示符或phpmyadmin。例如,我在表單中輸入名字,姓氏等,表中的值是數字1.我不知道這個數字來自哪裏。我瀏覽和瀏覽,我不知道什麼是關鍵字。請參閱下面的代碼並給出建議或明確的解釋。所有字符串或字符在mysql列中都變爲數字1
//TABLE STRUCTURE
user_id INT (10) NOT NULL AUTO_INCREMENT,
fname VARCHAR (100) NOT NULL,
lname VARCHAR (100) NOT NULL,
username VARCHAR (100) NOT NULL,
city VARCHAR (150) NOT NULL,
access timestamp (15) NOT NULL,
primary key (user_id);
//DB CONNECTION
$host = "localhost";
$user = "root";
$pass = "";
$dbas = "user";
$conn = mysql_connect($host, $user, $pass) or die(mysql_error("not connected"));
$data = mysql_select_db($dbas, $conn) or die(mysql_error("couldn't find"));
//FORM PROCCESS --> proccess.php
$id = isset($_POST['user_id']);
$fname = mysql_real_escape_string(isset($_POST['fname']));
$lname = mysql_real_escape_string(isset($_POST['lname']));
$username = mysql_real_escape_string(isset($_POST['username']));
$city = mysql_real_escape_string(isset($_POST['city']));
$access = date("m-d-y");
if(isset($_POST['submit']) !== '')
{
if($id == '' && $fname == '' && $lname == '' && $username == '' && $city == '' && $access == ''){
echo "please fill empty";
} else {
$sql = mysql_query("INSERT INTO user (user_id, fname, lname, username, city, access) VALUES (null, '".$fname."', '".$lname."', '".$username."', '".$city."', '".$access."')");
if($sql)
{
echo "success";
}
}
}
//RETRIEVE DATA
$query = "SELECT * FROM user";
$result = mysql_query($query);
while($getit = mysql_fetch_array($result))
{
echo "<table>";
echo "<tr>";
echo "<td>" .$getit['fname']. "<td/>";
echo "</tr>";
echo "</table>";
}
// FORM STRUCTURE
<form action="proccess.php" method="post">
<input type="hidden" name="user_id">
<input type="hidden" name="access">
<input type="text" name="fname">
<input type="text" name="lname">
<input type="text" name="username">
<input type="text" name="city">
<button type="submit" name="submit">REGISTER</button>
</form>
在此先感謝
沒有爲'mysql_ **沒有更多的支撐** *'的功能,它們是[**正式棄用**](https://wiki.php.net/rfc/mysql_deprecation)**,不再維持**,將來會[**刪除**](http://php.net/manual/en/function.mysql-connect.php#warning)。您應該使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)更新您的代碼,以確保您的項目未來的功能。 –
這意味着我使用的代碼不再有效嗎?那麼,數字1從哪裏來? – life4learn
不,這並不意味着。這意味着'mysql_ *'函數已被棄用,您不應該再使用它了。這與實際問題無關。 '1'是'isset()'返回的內容。它與「TRUE」相同。同樣,'0'表示'FALSE'。 –