刚刚安装了MAMP,我正在学习php并连接到我的数据库。我似乎能够连接到mysql,但无法连接或查看phpMyAdmin中的任何数据库。
这是我的PHP代码:
<?php
$user = 'root';
$password = 'root';
$db = 'test';
$host = 'localhost';
$link = mysqli_connect($host, $user, $password);
//newly editied
if ($link->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
$db_selected = mysqli_select_db($db, $link);
if (!$db_selected) {
echo "did not connect";
}
?>
当我运行它时,我会得到&#34; good&#34;,所以我知道我正在连接,然后&#34;没有连接&#34;,所以它&&#34; #39;没有连接到我的数据库。
我还尝试添加此代码,即使我创建了多个数据库,也没有任何内容得到回应。
$res = mysqli_query("SHOW DATABASES");
while ($row = mysqli_fetch_assoc($res)) {
echo $row['Database'] . "\n";
}
任何帮助表示赞赏!
答案 0 :(得分:2)
检查连接状态时出错。
您使用:
OleDbCommand oconn = new OleDbCommand("Select * From [Sheet1$] WHERE Date = @date");
oconn.Connection = connection;
try
{
oconn.Parameters.AddWithValue("@date", DateTime.Now.ToString("MM/dd/yyyy"));
connection.Open();
OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
DataTable data = new DataTable();
sda.Fill(data);
connection.Close();
}
catch (Exception)
{
}
应该使用:
if ($link) {
echo "good";
}
根据PHP documentation,if ($link->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
将始终返回一个对象,因此它永远不会是mysqli_connect()
。
您还在数据库选择中反转了参数false
和$db
,并在考虑之前的代码时使用了不正确的函数。它应该是
$link
而不是:
$mysqli->select_db($db)
实际上是正确的顺序:
$db_selected = mysqli_select_db($db, $link);
有关正确使用的详细信息,请阅读$db_selected = mysqli_select_db($link, $db);
PHP documentation。