1

这是将 $Row[pk_tId] 发送到 javascript 的链接:

    <a class=\"open-EditRow btn btn-primary btn-mini\" data-toggle=\"modal\" href=\"#myEditModal\" data-id=\"".$Row[pk_tId]."\" title=\"Edit this row\" \">Delete/Edit</a></td>";

这是将 $Row[pk_tId] 作为 groupId 发送到模态(在同一页面上)的 javascript:

   $(document).on("click", ".open-EditRow", function () {
     var myGroupId = $(this).data('id');
     $(".modal-body #groupId").val( myGroupId );
   });

这是打印 groupId 的模式内的输入字段:

   $id = "<input type=\"text\" name=\"groupId\" id=\"groupId\" value=\"\" />";

我回显 $id:

   echo "Your id is: " . $id;

但是当我尝试选择 $id 以将记录拉出数据库时,它不会返回任何记录。记录在那里。这是声明:

   $q = "SELECT * FROM restable WHERE pk_tId == '" . $id . "'";
   if (mysql_num_rows($q) == 0){
        echo "No results";
    }

我唯一得到的是“没有结果”。我与数据库的连接稳定。为什么这个语句没有返回任何东西?我错过了什么?请帮忙。

4

2 回答 2

1

您没有进行实际查询:

   $q = "SELECT * FROM restable WHERE pk_tId = '" . $id . "'";
   $query = mysql_query($q); // <- you forgot this line, $q is only a string
   if (mysql_num_rows($query ) === 0){
        echo "No results";
    }

mysql_num_rows 函数仍然产生条件的原因是它返回 false。如果用两个等号比较,0 和 false 是相同的。如果你会这样做:

   if (mysql_num_rows($query ) === 0){ // This only fires when the functions return INT 0
   if (mysql_num_rows($query ) === false){ // This only fires when the function returns false (on error)

太清楚了一点:

1==true   -> true
1===true  => false  (not the same type)
0==false  -> true
0===false -> false  (not the same type)
1=='1'    -> true
1==='1'   -> false (not the same type)
false=='false'  -> true
false==='false' -> false (not the same type)
于 2013-08-13T19:00:55.517 回答
0

您在任何时候都没有执行查询:

$q = "SELECT * FROM restable WHERE pk_tId == '" . $id . "'";
$query = mysql_query($sql); // <-----------missing from your code
if (mysql_num_rows($query) == 0){ // <------notice the difference
    echo "No results";
}

顺便说一句,现在不推荐使用 mysql_query (我已经看到人们的头在这个网站上被扯掉了,因为 sill 使用它哈哈!)

我从上面看到了你的另一个问题;-)

$q = "SELECT * FROM restable WHERE pk_tId == '" . $id . "'";
$q = "SELECT COLUMN_NAME FROM restable WHERE pk_tId == '" . $id . "'"; // <--works with example below
$query = mysql_query($sql); // <-----------missing from your code
if (mysql_num_rows($query) == 0){ // <------notice the difference
    while($row = mysql_fetch_assoc($query)){
        echo '<input type="text" value="'.$row['COLUMN_NAME'].'">';
    }
}
于 2013-08-13T19:01:12.163 回答