好的,我正在关注如何使用PHP / MySQL创建一个非常简单的博客系统的youtube指南,因为我想更多地学习这两种语言。我正在我的localhost中创建这个,权限设置正确。
问题是,当我进入localhost / tables.php时,它会显示为白色屏幕,但它不会在数据库中创建相关表格?
这是我正在使用的代码:
mysql.php
<?php
mysql_connect('localhost','username','password'); //where localhost is the host, username is the relevant username and password is the relevant password.
mysql_select_db('database'); //where database is the chosen database in which to drop the tables.
?>
tables.php
<?php
include "mysql.php";
$table = "ENTRIES";
mysql_query ("CREATE TABLE IF NOT EXISTS `$table` (`ID` INT NOT NULL AUTO_INCREMENT , PRIMARY KEY ( `id` ) )");
mysql_query ("ALTER TABLE `$table` ADD `TITLE` TEXT NOT NULL");
mysql_query ("ALTER TABLE `$table` ADD `SUMMARY` TEXT NOT NULL");
mysql_query ("ALTER TABLE `$table` ADD `CONTENT` TEXT NOT NULL");
?>
错误日志中没有任何内容出现,令人沮丧,并没有帮助我诊断问题。
任何帮助将不胜感激!感谢。
答案 0 :(得分:0)
如果没有错误,请运行此代码以显示您是否已创建表格 ENTRIES 。
<?php
include "mysql.php";
$result = mysql_query("SHOW COLUMNS FROM `ENTRIES`");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
?>
注意当您从MySQL开始时,建议您使用PDO代替不推荐使用的mysql _。
这是一个很好的tutorial
修改强> 以下注释以下代码列出了服务器上的数据库和表(注意使用不推荐使用的mysql_函数)。
确保正确的参数替换为“XXX”。
<?php
$host= "localhost";
$username="XXX";
$password="XXX";
$database="XXX";
$link = mysql_connect($host,$username,$password); //where localhost is the host, username is the relevant username and password is the relevant password.
$db_list = mysql_list_dbs($link);
while ($row = mysql_fetch_object($db_list)) {
echo $row->Database . "\n";
echo "<BR>";
}
echo "<BR>";
$result = mysql_list_tables($database);
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
echo "Table: ", mysql_tablename($result, $i), "\n";
echo "<BR>";
}
?>
答案 1 :(得分:0)
错误日志中没有出现任何令人沮丧且无法帮助我诊断问题的内容
所以你的第一个问题就是要找出为什么它没有记录任何错误。顺便说一句,注入一些echo / print语句以找出 它失败的地方也是一个好主意。
忘记MySQL的内容并尝试:
<?php
trigger_error("Testing", E_USER_WARNING);
?>
即使(一旦您将错误报告整理出来),您应该记录错误,它可能只包含有限数量的信息。无论何时调用mysql函数,通过mysql_,mysqli或PDO,都应该轮询返回值并处理任何错误 - 即使它只是将值回显到屏幕上。
据说我没有选择数据库
您连接的用户帐户可能没有访问数据库的权限。