[英]need help connecting to mysql using php
我無法使用php連接到mysql。 我有一個名為contacts的數據庫,我想連接到該數據庫,而我要添加的表是“ tblusers”。 我已經在由“ my12130”標識的“ Web_User”聯系人上創建了一個用戶。 當用戶填寫所有字段並且密碼匹配並且點擊了提交時,該頁面將被重定向到memberContect頁面。 每次我使用以下連接方法時,當我填寫所有內容並單擊“提交”時,都會顯示連接代碼中的“表連接錯誤”消息。 (不顯示PHP錯誤,即橙色/白色框中沒有錯誤)。 如果我將主機名更改為localhost,也沒有什么不同,因為我都嘗試過兩者。 我正在使用wamp服務器來運行我的php代碼。 我在連接代碼上方有一條注釋,這是我遇到問題的地方。
mysql數據庫:
mysql>顯示數據庫;
+--------------------+
| Database |
+--------------------+
| information_schema |
| contacts |
| mysql |
| performance_schema |
| test |
+--------------------+
聯系人表列表:mysql> use contact; 數據庫改成mysql> show表;
+--------------------+
| Tables_in_contacts |
+--------------------+
| tblusers |
+--------------------+
設置1行(0.00秒)
的PHP:
<?php
if ($_POST['submit']!=""){
if ($_POST['username']=="" || $_POST['password1']=="" || $_POST['password2']=="" || $_POST['firstname']=="" || $_POST['lastname']=="" || $_POST['email']=="" || $_POST['address']=="" || $_POST['city']=="" || $_POST['state']=="" || $_POST['zipcode']=="" || $_POST['phone']==""){
$error=1;
}
else if ($_POST['password1']!=$_POST['password2']){
$error=2;
}
else{
$hostname="localhost";
$database="contacts";
$mysql_login="Web_User";
$mysql_password="my12130";
if (!($db = mysqli_connect($hostname, $mysql_login, $mysql_password))){
echo "error on connect";
exit;
}
else{
if(!(@mysqli_select_db($database, $db))){
echo mysql_error();
echo "<br>error on table connection";
exit;
}
else{
$SQL = "Insert into tblUsers (username,password,firstname,lastname, email, address, city, state, zip, phone, signupDate) values('".$_POST['username']."',PASSWORD('".$_POST['password1']."'),'".$_POST['firstname']."'.'".$POST['lastname']."'.'".$POST['email']."'.'".$POST['address']."'.'".$POST['city']."'.'".$POST['state']."'.'".$POST['zipcode']."'.'".$POST['phone']."',NOW())";
mysql_query($SQL);
if(is_numeric(mysql_insert_id())){
header("Location:memberContect.php?name=".$_POST['username']);
}
else{
echo "Sorry, there was an error with your signup. Please contact the administrater";
}
mysql_close($db);
}
}
}
}
?>
您可以將directyl連接到所需的數據庫,如下所示:
mysqli_connect($ hostname,$ mysql_login,$ mysql_password,$ database);
我建議你使用isset()函數 funtion代替=“”您也可以使用和addslashes()和MS5()函數用於插入和你的代碼可以是這樣的!
else if ($_POST['password1']!=$_POST['password2']){ $error=2; } else{ $hostname="localhost"; $database="contacts"; $mysql_login="Web_User"; $mysql_password="my12130"; $conn = mysqli_connect($hostname, $mysql_login, $mysql_password, $database); if (!$conn){ echo "error on connect"; exit; } else{ $username = addslashes($_POST['username']); $password = md5($_POST['password1']); $firstname = addslashes($_POST['firstname']); $lastname = addslashes($POST['lastname']); $email = addslashes($POST['email']); $address = addslashes($POST['address']); $lastname = addslashes($POST['city']); $state = addslashes($POST['state']); /* or $state = addslashes($POST['state']); */ $zipcode = intval($POST['zipcode']); /* or $zipcode = addslashes($POST['zipcode']); */ $phone = intval($POST['phone']); $signupDate = date("Ymd h:i:sa"); $SQL = "INSERT INTO tblUsers (username, password, firstname, lastname, email, address, city, state, zip, phone, signupDate) VALUES('$username', '$password', '$firstname', '$lastname', '$email', '$address', '$city', '$state', '$zip', '$phone', '$signupDate')"; mysql_query($SQL); if(is_numeric(mysql_insert_id())){ header("Location:memberContect.php?name=".$_POST['username']); } else{ echo "Sorry, there was an error with your signup. Please contact the administrater"; } mysql_close($db); } } }
}
您可以使用extract()函數來避免編寫$ _POST:
如果($ _SERVER [“ REQUEST_METHOD”] ==“ POST”):提取($ _POST); 那么$ _POST ['address']將變為$ adress
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.