未从mysql数据库中选择的值

时间:2014-01-06 11:07:57

标签: php mysql database rows fetch

我有这个php

<?php       
    require("./connect.php");

    $cust_name=$_POST['name'];
    $cust_addr=$_POST['shippingAddr'];
    $cust_pincode=$_POST['pincode'];
    $buttonid=$_REQUEST['button_id'];

    $query=mysql_query("select * from button where button_id='$buttonid'");
    $numrows = mysql_num_rows($query);
    //echo "error is ".$numrows;
       if($numrows==1)
    {
        $row = mysql_fetch_assoc($query);
        $merchant_id = $row['merchant_id'];
        echo "hi SUCCESS id is ".$buttonid;
    }
    else
    {
        echo "<br>EROR NOT inserted id is ".$buttonid;
    } 
?>

我无法使用

获取数据
$query=mysql_query("select * from button where button_id='$buttonid'");

我尝试回显$numrows但它总是返回0。我试过mysql_error,我没有得到任何错误。并尝试了error_get_last,也没有错误。

我确定另一个connect.php用于连接到数据库并且一切正常。并且也填充了button_id变量。但是select语句似乎不起作用吗?任何帮助。

更新

我发现我的button_id中有空格button_id=' mmrw6FJFfDWBYt2aSO1qm '。为什么会发生这种情况。可变的最初没有它。我怎么能删除它?

6 个答案:

答案 0 :(得分:0)

如果你只想要退回一行,那么你应该在你的查询结尾处放置LIMIT 1。

但是你的代码看起来很好你确定button_id被正确填充了吗?尝试使用:

var_dump($buttonid);

除了你使用$ buttonid但html中元素的名称似乎是button_id,这可能是输入错误吗?

另外,尝试打印已解决的查询:

echo "select * from button where button_id='$buttonid'";

并将结果放入phpmyadmin进行调试,直到它在使用mysql_query之前工作,这是一个非常有用的提示。

答案 1 :(得分:0)

对于整数类型字段,您需要用“'”引号括起来, 试试这个

$query=mysql_query("select * from button where button_id=$buttonid");

答案 2 :(得分:0)

您好,你应该使用引号和PHP将能够得到。 像这样的东西

如果数据库中的button_id为intnumber,则不会重新输入此内容。

$query=mysql_query("select * from button where button_id=$buttonid");

如果数据库中的button_id为varcharstring,请使用此解决方案

$query=mysql_query("select * from button where button_id='" . $buttonid . "'");

以这种方式定义查询会更好。

和php代码

$result = mysql_fetch_array($query);
$result['columnInDb'];

答案 3 :(得分:0)

1 -

$query=mysql_query("select * from button where button_id=$buttonid");
$buttonid  >>> without single because it num

2-

use $row = mysql_fetch_array($query);

而不是$row = mysql_fetch_assoc($query);

答案 4 :(得分:0)

  

我发现在我的button_id中有白色空格button_id ='mmrw6FJFfDWBYt2aSO1qm'。为什么会发生这种情况。可变的最初没有它。我怎么能删除它?

使用TRIM功能。它删除尾随空格。

$query=mysql_query("select * from button where button_id=trim('$buttonid')");

答案 5 :(得分:-1)

首先尝试调试$ buttonid,看看它实际上是否是包含内容的变量

print_r($buttonid);

如果这是真的,那么将您的查询更改为

$query=mysql_query("select * from button where button_id='" . $buttonid . "'");