更新:我是一个完全白痴。 mysqli_select_db调用仅用于更改所选数据库。如果其他人遇到了同样的问题,只需在指定数据库的mysqli_connect调用中添加第四个参数。希望这可以帮助别人并且徒劳无功!谢谢大家的帮助。
所以我试图创建一个简单的Web应用程序,但由于某些原因我的SQL查询无效。我有我写的php发送查询和下面的输出。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
class mySQL{
private $link;
private $hostURL = '*********.***********.***';
private $username = '**********';
private $password = '****************';
public function __construct(){
echo 'Starting connection...';
$this->link = mysql_connect($this->hostURL, $this->username, $this->password);
echo 'Connection established...';
}
public function add_conversation($iUser, $iName, $iTag, $iLocation, $iSize){
$query = "INSERT INTO conversations (user, name, location, tag, size, expires)
VALUES ('" . $iUser . "','" . $iName . "','" . $iName . "','" . $iTag . "','" . $iSize . "', CURRENT_TIMESTAMP)";
$this->query($query);
}
private function query($query){
echo 'Sending query...';
mysqli_query($this->link, $query);
echo 'Query sent...';
}
}
$sql = new mySQL;
?>
然后输出:开始连接...建立连接...发送查询...致命错误:未捕获异常&#39; mysqli_sql_exception&#39;有消息&#39;没有选择数据库&#39; in / hermes / bosweb / web197 / b756 / ******** / public_html / * / ** < /strong>.php:34
但是当我尝试使用mysqli_select_db或mysql_select_db选择数据库时,它会中断。什么是正确的方法?
答案 0 :(得分:1)
在您的构造函数中,您错误地放置了mysql_connect
而不是mysqli_connect()
。它应该是
$this->link = mysqli_connect($this->hostURL, $this->username, $this->password);
答案 1 :(得分:1)
您还没有选择mysql数据库。你可以这样做:
$this->link = mysqli_connect($this->hostURL, $this->username, $this->password, $this->databaseName);
答案 2 :(得分:1)
您没有在连接中选择数据库
private $link;
private $hostURL = '*********.***********.***';
private $username = '**********';
private $password = '****************';
private $database = '*****';
public function __construct(){
echo 'Starting connection...';
$this->link = mysql_connect($this->hostURL, $this->username, $this->password, $this->database);
echo 'Connection established...';
}