[英]mysqli_connect() isn't selecting database? and can't insert data
我有這個代碼
<?php
$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="mydb";
$db_connect=mysqli_connect($db_host, $db_username,$db_password, $db_name);
//check connection
if (mysqli_connect_error()){
echo "Failed to connect to MySQL:" .mysqli_connect_error();
} else{
echo "Connection successful" ;
}
?>
當我運行代碼時,它顯示“連接成功”但是當我將數據輸入到數據庫中的表時,它給我一個錯誤“沒有選擇數據庫”
我嘗試了下面的代碼,它似乎有效,除了自動增量值 (ID) 沒有傳遞到數據庫中的事實之外,它給了我一個錯誤,這意味着“第 1 行中傳遞的數據不匹配數據類型。“(不應該不需要輸入,並且每個插入查詢都會自動更新嗎?)我正在使用和插入語句而不是數組形式將值傳遞給表,也許?
<?php
error_reporting(1);
$connect_error = 'Sorry, we\'re experiencing connection problems.';
mysql_connect('localhost','root','') or die($connect_error);
mysql_select_db('mydb') or die($connect_error);
?>
我被要求提供用於將數據插入表中的代碼。
<?php
require_once ('dbconnect.php');
$title= "my title";
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$class = $_POST['class'];
$type = $_POST['type'];
$description = $_POST ['description'];
$date = date(d-m-y);
$sql= "INSERT into mytable values ('username, password, class, type, description')" ;
$qry= mysql_query($sql) ;
if (!$qry) {
echo "Something went wrong: " . mysql_error();}
else echo "Finished successfully";
}
?>
你混合mysqli
和mysql
。
使用下面的代碼來觸發 mysql 查詢
mysqli_query($db_connect,$sql);
替換這一行
$qry= mysql_query($sql) ;
到
$qry= mysqli_query($db_connect,$sql);
最新版本的 php 使用 mysqli 對象(mysql 改進)插入了訪問 mysql 數據庫的方法。
<?php
$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="mydb";
$db_connect=new mysqli($db_host, $db_username,$db_password, $db_name);
//check connection
if ($db_connect -> connect_error)
{
echo "Failed to connect to MySQL:".$db_connect->connect_error;
}
else{
echo "Connection successful" ; }
?>
我有兩個錯誤,一個是在 dbconnect.php 中混合了 mysqli,而在另一個頁面中使用了 mysql_query。 然后我對與 mysqli_query 一起使用的第二個參數感到困惑,而不是插入語句,使用了連接變量,現在它可以工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.