Mysql查询返回没有结果

时间:2014-07-28 13:34:56

标签: php mysql

我遇到的原始问题是我没有显示东西,现在我已经剥离了所以它是基本的

$host="localhost";
$user="*";
$pass="*";
$db="*";

$con=mysqli_connect($host,$user,$pass,$db) or die ("Could not connect to database " . mysqli_connect_error($con));

$query="SELECT * FROM customers WHERE client='$tmp1'";
$results=mysqli_query($con,$query);
$row_cnt = mysqli_num_rows($results);

printf("Result set has %d rows.\n", $row_cnt);

当我使用num行时,我得到它说“结果集有0行。”

我不知道为什么我没有得到任何结果,因为查询在phpmyadmin中运行得到结果

4 个答案:

答案 0 :(得分:1)

你的函数中不存在

$con。要将其拉入函数的可变范围,您需要添加:

function getinfo($tmp1,$tmp2)
{
  global $con;
  // rest of your function.
}

旁注:

这是非常非常糟糕的程序设计。您是否打算为每个想要具有默认值的输入包含此文件?从数据库中获取一次信息,将其存储在变量中,然后在输入中使用value="<?=$var?>"

答案 1 :(得分:0)

您没有将变量$tmp3设置为函数的返回值。它根本不存在于函数之外。

我现在注意到,你也在函数内调用了不存在的全局变量。

您可以在函数中设置变量,如refference

function getinfo($tmp1,$tmp2, &$tmp3)    {
    $query = "SELECT * FROM customers WHERE client='{$tmp1}'";

    $results = mysqli_query($GLOBALS["con"], $query);

    while($row = mysqli_fetch_array($results)) {
      $tmp3 = $row['$tmp2'];
    }
}

然后致电:

getinfo("test", "title", $tmp3); 

$tmp3由该函数填充。

或者,你只是忘了设置功能的输出。

$tmp3 = getinfo("test","title"); 

答案 2 :(得分:0)

为什么你在属性中包含整个代码,你的函数也返回值,所以把它变成一个变量并回显到var: - 尝试

<?php
include 'function.php'; 
$tmp3 =getinfo("test","title"); 
?>
Title: <input type="text" name="title" value="<?php echo (!empty($tmp3) ? $tmp3 : '');  ?>"><br>
<?php $tmp4 = getinfo("test","background");?>
<option value="test" <?php if(!empty($tmp4) && $tmp4 == 'test'){echo 'selected = "selected"';}?>>Test</option>
<?php mysqli_close($con);?>

答案 3 :(得分:0)

您没有从 getinfo()函数返回值。

应该是$tmp3 = getinfo("test","title");而不是仅仅调用getinfo("test","title");

此外,您不需要拥有如此凌乱的HTML + PHP。在页面的开头做你的包括。例如:

<?php

include 'function.php';
$value = getinfo('test', 'title');
mysqli_close($con);

?>

Title: <input type="text" name="title" value="<?php echo $value; ?>"><br>