我从去年开放了一个项目,并且认为我在新电脑上尝试了MAMP,看起来有点酷。
看起来它全部在运行,PHP正常运行,我在phpMyAdmin中重建了数据库。
在向表中添加一些测试数据之后,我做了一个简单的测试(参见下面的文件),但我无法从数据库中检索任何内容。
当我加载test-basic.php时,它会显示“已连接到db .Selected数据库。找不到=(”
但是我测试了phpMyAdmin中的字符串(对于'likeiwassaying'数据库),它返回了结果
我觉得太近了(并且已经在小时上敲打了我的脑袋)。我错过了鼻子下的东西吗?
有任何疑难解答建议,
贾斯汀
的config.php
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = 'testpassword';
$dbdatabase = 'likeiwassaying';
$config_sitename = 'Cully Mail';
$config_author = 'jk';
$config_basedir = 'http://localhost:8888/cullymail/';
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
if (!$db) {
die('Could not connect: ' . mysql_error());
} else {
echo 'Connected to db. ';
}
$db_selected = mysql_select_db($dbdatabase, $db);
if (!$db_selected) {
die ('Can\'t use: ' . mysql_error());
} else {
echo 'Selected database. ';
}
mysql_close($db);
?>
测试basic.php
require("config.php");
function test() {
$q = 'SELECT * FROM contacts;';
$result = mysql_query($q);
$numrows = mysql_num_rows($result);
//If it is found (if any row comes back)...
if($numrows == 0) {
echo "Found nothing =(";
} else {
echo "found something";
}
}
test();
?>
答案 0 :(得分:2)
在执行函数test()
之前,您正在关闭数据库连接。您在config.php
末尾关闭连接,这意味着在test-basic.php
中定义函数时,数据库连接已不再存在,并且进一步的查询将失败。
除非您需要尽早重新获得内存资源,否则通常不需要明确调用mysql_close()
。当脚本完成时,PHP将关闭连接。
$db_selected = mysql_select_db($dbdatabase, $db);
if (!$db_selected) {
die ('Can\'t use: ' . mysql_error());
} else {
echo 'Selected database. ';
}
// Everything is good so far. you're ready to execute queries, but...
// Don't do this!!!
mysql_close($db);