我是初学程序员,我已经安装了XAMPP,目的是学习一些PHP。我有SQL的工作知识。
我一直在w3schools关注PHP教程。我目前遇到的问题是:我正在使用脚本here创建一个数据库和一个表。我使用的几乎是逐字的,除了我用“root”替换了用户并且我删除了密码。
通过浏览器运行脚本后,数据库my_db出现在XAMPP中mysql的数据文件中。
然而,没有表格的迹象,当我尝试选择表格时,我得到了
表'my_db.persons'不存在
发生了什么事?我逐字记录的代码是否有问题,或者是否具有权限?
创建数据库但不是表格,这很奇怪......
答案 0 :(得分:1)
发生的事情是你的“CREATE TABLE”会失败。
养成每次mySQL查询后检查错误的习惯(在你的代码中):有时你可以忽略错误,但这种情况很少见。所以按照以下方式编程:
Create query: $sql =
Set parameters: $aParams = (or bind paramters)
Execute query
If errors
If debug: Show error and query
If live: Log error and query
我没有给出解决方案是代码,因为你所遵循的教程的一个问题是它使用了即将被折旧的mysql_()函数。您应该使用PDO (PHP Database Objects)或mysqli()函数,否则您的代码将在几个发布时间内无效。
使用PDO,您可以设置错误处理以使用异常,并将每个调用包装在try {} catch {}中,这样就很容易捕获和报告错误。
$sql = 'CREATE TABLE....';
$aParams = array(
':param_name' => $param_value,
':param_name2' => $param_value2
);
try {
$stmnt = $db->prepare($sql);
$stmnt->execute($aParams);
$stmnt = null;
} catch (Exception $e) {
// Error log here; $e contins line of error and the actual error, you have $sql and $aParams
LogDBError($e, $sql, $aParams);
}