使用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的错误消息。

+0

tbl_name是正确的名称。但现在,我把错误放在它什么都不做。它在哪里记录日志? (哦,顺便说一句,我不知道为什么它没有这样做,但它确实在页面上显示表头的标题之前,它给出了PHP错误... – user1015214

+0

它将其打印到浏览器,所以你应该看到它 – alexn

+0

哦,你说得对,它说没有选择数据库...但是这是它的名字!如果我继续到phpMyAdmin多数民众赞成如何列出,如果你看看SQL调用它使它的如下:SELECT * FROM'tbl_name' 限制0,30。为什么我的数据库名称不正确? – user1015214

运行此查询这样

$sql = "SELECT `Book ISBN` FROM tbl_name"; 
$result = mysql_query($sql) or trigger_error(mysql_error()." ".$sql); 

,看看