使用PHP连接到mysql时出错
问题描述:
我想动态地在我的页面上通过ajax使用jQuery和PHP来创建一个表。以下是我的PHP代码:使用PHP连接到mysql时出错
<?php
$con = mysql_connect("127.0.0.1","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("tbl_name", $con);
$result = mysql_query("SELECT `Book ISBN` FROM tbl_name");
echo "<table id='booklist'><tr>
<th>Edit</th>
<th class='coursename'>Course Name</th>
<th class='startdate'>Start Date</th>
<th class='booktitle'>Book Title</th>
<th class='author'>Book Author</th>
<th class='isbn'>Book ISBN</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>
<td><input type='checkbox'></input></td>
<td class='coursename'>" . $row[`Course Name`] . "</td>
<td class='startdate'>" . $row[`Start Date`] . "</td>
<td class='booktitle'>" . $row[`Book Title`]. "</td>
<td class='author'>" . $row[`Book ISBN`]. "</td>
<td class='isbn'><input class='ISBN_number' type='text' value='' size='13' maxlength='13'></input></td>
</tr>";
}
echo "</table>";
mysql_close($con);
?>
(注:因为有人在网上说,这就是你如何保持该行的名字在他们的空间(这就是数据库怎么来的),我用背蜱单引号代替空间......如果我在这个问题上,我会看看是否能工程)
下一页我的jQuery脚本:
$(document).ready(function()
{
$("#build_table").click(function()
{
$.get("build_table.php",
function(table)
{ console.log("Entered table function");
$("#input_table").replaceWith("<div id='input_table'>" + table + "</div>");
});
});
});
和HTML:
<input id="build_table" style="clear:both" type="button" value="Submit"></input>
当我点击这个按钮,但是,我得到以下的PHP错误: 警告:mysql_fetch_array()期望参数1是资源,布尔给出在C:...路径名... \ build_table.php在线13
这是什么错误?
答
问题就出在你的查询。你确定你的数据库和表名为tbl_name吗?将您的声明更改为:
$result = mysql_query("SELECT `Book ISBN` FROM tbl_name") or die(mysql_error());
然后您将收到来自MySQL的错误消息。
答
运行此查询这样
$sql = "SELECT `Book ISBN` FROM tbl_name";
$result = mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
,看看
tbl_name是正确的名称。但现在,我把错误放在它什么都不做。它在哪里记录日志? (哦,顺便说一句,我不知道为什么它没有这样做,但它确实在页面上显示表头的标题之前,它给出了PHP错误... – user1015214
它将其打印到浏览器,所以你应该看到它 – alexn
哦,你说得对,它说没有选择数据库...但是这是它的名字!如果我继续到phpMyAdmin多数民众赞成如何列出,如果你看看SQL调用它使它的如下:SELECT * FROM'tbl_name' 限制0,30。为什么我的数据库名称不正确? – user1015214