我无法从使用php创建的化学结构数据库中的表中检索记录。每当我使用mysql_query()或mysqli_query()时,结果总是等于false,因为错误(表'Crystal_Structs.BinaryCompoundList'不存在),mysqli_error()告诉我。
我知道该表存在且在我使用SHOW TABLES和CHECK TABLE查询时工作,因为显示了表并且其状态被视为正常。我能够在我的Netbeans IDE数据库服务区和命令行中运行Select,Insert等查询。我不确定发生了什么,但非常感谢任何帮助。谢谢。
代码段:
/* Connect to local MySQL server */
$localdb = mysqli_connect("server", "user", "pass")
or die("Unable to connect to Database Server");
/*Connect to Crystal Structures db*/
mysqli_select_db($localdb, "Crystal_Structs")
or die(mysqli_error($localdb));
session_start();
$Ab=$_POST['compound'];
$spce_grp=$_POST['space_group'];
$query = 'SELECT * FROM BinaryCompoundList '
. 'WHERE compound="$_SESSION[Ab]" '
. 'AND space_group="$_SESSION[spce_grp]"';
$result = mysqli_query($localdb, $query);
if($result == false){
echo 'not a proper query:';
echo $query;
die(mysqli_error($localdb)); /*debug*/
}
$check = mysqli_num_rows($result);
if($check != 1){
die("Multiple Records");
}
SHOW TABLES查询:
+---------------------------+
| Tables_in_Crystal_Structs |
+---------------------------+
| BinaryCompoundList |
| BinaryCompoundSites |
+---------------------------+
2 rows in set (0.00 sec)
CHECK TABLE BinaryCompoundList query:
+------------------------------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+------------------------------------+-------+----------+----------+
| Crystal_Structs.BinaryCompoundList | check | status | OK |
+------------------------------------+-------+----------+----------+
1 row in set (0.00 sec)
答案 0 :(得分:0)
我注意到您通过两个名称调用数据库:代码中的Crystal_Structs和错误消息中的Crystal_Structures。你有没有机会在开发路径上创建多个数据库?
除此之外,必须是拼写错误,你能显示SHOW TABLES的输出吗?