[英]Insert sql statement in php Error: No database selected
所以我正在嘗試制作一份注冊表。 我創建了一個php MySQL類,它使用構造函數為我的addElement函數建立與新的MySQLi()for verifyLogin函數和mysql_connect()的連接。
錯誤是我的addElement函數,SQL語句正確寫出但它似乎沒有連接到數據庫。 我已經檢查過所有的名字都是正確的。 有任何想法嗎?
<?php
class MySQL {
private $connection;
private $conn;
private $databaseName;
function __construct($dbServer, $dbUser, $dbPassword, $dbName) {
$this->connection = new MySQLi($dbServer, $dbUser, $dbPassword, $dbName)
or die('PROBLEM CONNECTING TO DATABASE');
$this->conn = mysql_connect($dbServer, $dbUser, $dbPassword);
echo $this->conn;
$databaseName = $dbName;
}
function verifyLogin($table, $email, $password) {
$query = "SELECT *
FROM ?
WHERE email = ?
AND password = ?
LIMIT 1";
if($statement = $this->connection->prepare($query)) {
$statement->bind_param('sss', $table, $email, $password);
$statement->execute();
if($statement->fetch()) {
$statement->close();
return true;
}
else {
return false;
}
}
}
function addElement($table, $firstName, $lastName, $email, $mobile, $password,
$faculty, $campus) {
$query = "INSERT INTO $table (first_name, last_name, email, mobile, password, faculty, campus_location)
VALUES('$firstName', '$lastName','$email','$mobile',
'$password','$faculty','$campus');";
echo $query;
mysql_select_db($this->databaseName, $this->conn);
if(!mysql_query($query)) {
die('Error: ' . mysql_error());
}
mysql_close($this->connection);
}
}
?>
要在MySQLi中選擇數據庫,您需要選擇它,如下所示:
$db = new mysqli("localhost", "my_user", "my_password", "database_name");
要么
$db = new mysqli("localhost", "my_user", "my_password");
$db->select_db('database_name');
而不是MySQL:
$db = mysql_connect('localhost', 'my_user', 'my_password');
$db_selected = mysql_select_db('database_name', $db);
MySQLi: http ://www.php.net/manual/en/mysqli.select-db.php
MySQL: http : //www.php.net/manual/en/function.mysql-select-db.php
你正在混合mysql和mysqli php驅動程序。
由於不推薦使用mysql驅動程序,我建議使用mysqli。
PHP文檔: http : //www.php.net/manual/en/book.mysqli.php
開始的好概述: http : //www.dreamincode.net/forums/topic/54239-introduction-to-mysqli-and-prepared-statements/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.