[英]Can't connect to localhost mysql database
我正在嘗試制作一個可以存儲在mysql數據庫上的簡單表格。 每當我嘗試連接時,都不會允許我。 這是我所擁有的:
PHP:
<?php
define('DB_NAME', 'forms1');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
$db_selected = mysqli_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysqli_error());
}
$value = $_POST['input1'];
$value2 = $_POST['input2'];
$sql = "INSERT INTO demo (input1, input2) VALUES ('$value', '$value2')";
if (!mysqli_query($sql)) {
die('Error: ' . mysqli_error());
}
mysqli_close();
?>
HTML:
<form action="demo.php" method="post" />
<p>Input 1: <input type="text" name="input1" /></p>
<p>Input 2: <input type="text" name="input2" /></p>
<input type="submit" value="Submit" />
</form>
我輸入了正確的憑據,但是當我打開頁面時它說:“不能使用forms1:”
甚至都沒有給我錯誤。
如果將連接變量添加到對mysqli_error()
的調用中,它將給您一條錯誤消息。
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysqli_error($link));
}
這適用於所有對mysqli_error($link)
調用
此錯誤應該產生了PHP錯誤,因此,如果您沒有看到我假設您正在關閉錯誤報告的LIVE服務器上進行開發。 在這種情況下,您應該像這樣啟動所有腳本
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
這樣可以確保您在瀏覽器中看到這些錯誤! 腳本調試完畢后,您可能應該刪除這些行,因為如果它是LIVE站點時出現問題,您不希望用戶看到此信息。
連接也應包含數據庫名稱,
<?php
define('DB_NAME', 'forms1');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD,DB_NAME);
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
//$db_selected = mysqli_select_db(DB_NAME, $link);
//if (!$db_selected) {
// die('Can\'t use ' . DB_NAME . ': ' . mysqli_error());
//}
那里有mysqli_select_db()
調用,因此如果出於某種原因使用2個數據庫,則可以在同一連接上更改為另一個數據庫。
我假設您正在從
mysql_
API轉換為mysqli_
API,不幸的是,該轉換不是一對一轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.