2017-05-26 46 views
0

這是我收到錯誤的代碼無法輸入數據:沒有選擇數據庫 我試着在localhost上做這個代碼。我無法找出問題,因爲我已經創建數據庫mb以及表格。無法輸入數據:沒有選擇數據庫

<HTML> <HEAD> 
<TITLE>Sample Site</TITLE> </HEAD> 
<BODY> 
<body text="Blue" bgcolor="Bisque"> <h1 align="center">User query...! 
</h1> <?php 
if(isset($_POST['add'])) { 
$conn = mysqli_connect('localhost','',''); 

if(! $conn) { 
die('Could not connect: ' . mysqli_error($conn)); 
} 
$name = $_POST['name']; 
$email = $_POST['email']; 
$subject = $_POST['subject']; 
$messege = $_POST['messege']; 
$sql = "INSERT INTO users ". "(name,email,subject,messege) ". 
"VALUES('$name','$email','$subject', '$messege')"; 
$conn->select_db('mb'); 
$retval = mysqli_query($conn, $sql); if(! $retval) { 
die('Could not enter data: ' . mysqli_error($conn)); } 
echo "Entered data successfully\n"; 
mysqli_close($conn); }else { 
?> 
<form method = "post" action = "<?php $_PHP_SELF ?>"> 
<table width = "400" border = "0" > <tr> 
<td width = "100">Name</td> <td><input name = "name" type = "text" 
id = "name"></td> </tr> 
<tr> 
<td width = "100">Email</td> <td><input name = "email" type = "text" 
id = "email"></td> </tr> 
<tr> 
<td width = "100">Subject</td> <td><input name = "subject" type = "text" 
id = "subject"></td> </tr> 
<tr> 
<td width = "100">Messege</td> <td><input name = "messege" type = "text" 
id = "messege"></td> </tr> 
<tr> 
<td width = "100"> </td> <td> </td> 
</tr> 
<tr> 
<td width = "100"> </td> <td> 
<input name = "add" type = "submit" id = "add" value = "Add user"> 
</td> </tr> 
</table> </form> 
<?php } 
?> </BODY> 
</HTML> 

回答

0
$conn = mysqli_connect("localhost", "my_user", "my_password", "my_database_name"); 

或您的連接estabilished你可以用一個單獨的函數選擇數據庫後:

mysqli_select_db($conn, "my_database_name"); 
0

mysqli_connect包含4個參數,你必須到第四參數添加數據庫名稱即

mysqli_connect(「127.0.0.1」,「my_user」,「my_password」,「my_db」);

0

您的mysqli_connect函數有錯誤。 它應該是

$conn = mysqli_connect("localhost","root","","databaseName"); 

代替

$conn = mysqli_connect('localhost','',''); 
0

及其與您mysqli_connect問題。嘗試用下面的代碼連接

// Create connection 
$conn = mysqli_connect('servername', 'username', 'password', 'dbname'); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
0

除了提供的答案,您應該使用準備好的語句。你正在使用MYSQLI。

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// prepare and bind 
$stmt = $conn->prepare("INSERT INTO `users`(`name`, `email`, `subject`,`messege`) VALUES (?, ?, ?,?)");//use placeholders 
$stmt->bind_param("ssss", $name,$email, $subject, $message);//bind placeholders to values.no need to escape. 
if($stmt->execute() == true){ 
    echo 'Successfully saved using prepared statements'; 
} else { 
    echo 'Error!Because: '.$stmt->error; 
    exit; 

}

+0

該錯誤走開了,但現在這個錯誤就要 無法輸入數據:在「字段列表」未知列「messege」 –

+0

這是你的錯誤。你的拼寫可能是錯的。是'messege'還是'message'?與你的數據庫確認 – Akintunde007

0

添加您的用戶名和數據庫名稱

$conn = mysqli_connect('localhost','username here','','databasename here');