不能 select 一行 mysql

cannot select a row in mysql

EDIT1 : 使用了双引号和单引号,但我得到了同样的错误。

EDIT2 : 相同的查询返回我的结果 mysql shell

我正在从 table 中选择一行。

if(!isset($_GET['title']) || !isset($_GET['user'])){
  echo "hi"; //something come here 
}
else{
 $title = $_GET['title'];
 $title = mysqli_real_escape_string($conn,$title);

 $user = $_GET['user'];
 $user = mysqli_real_escape_string($conn,$user);
 echo $title ;
 echo $user ;

 // tried giving value directly to test but no luck
 $query = "SELECT * FROM site WHERE client=\"Chaitanya\" && title=\"werdfghb\" "; 
 $result5 = mysqli_query($conn,$query) or die(mysqli_error());
 $count = mysqli_num_rows($result5);
 echo $count ;

 while($result9 = mysqli_fetch_array($result5)){ 
 $kk=$result9['url'];
 echo $kk ;
 }
 $page = $kk; 
 include ( 'counter.php');
 addinfo($page);
}

在我的数据库中有一行包含 title 和 client 列,我输入的值在该行中,但是当我 echo count(no of rows) 它显示 zero.

代码有问题吗?

您收到的错误是由于行

$page = $kk;

在此代码中 $kk 之前未声明。定义的 $kk 在 while 循环范围内。

在 while 循环的外部作用域中像这样声明变量

...
$kk = null;
while($result9 = mysqli_fetch_array($result5)) { 
    $kk = $result9['url'];
    echo $kk ;
}
$page = $kk; 
...

获取数据时出错

你必须把你 SQl 分成更小的部分并像这样测试代码。

  1. 运行 没有任何 where 的查询 SELECT * FROM site 并得到计数
  2. 运行 查询 SELECT * FROM site WHERE client='Chaitanya' 并获取计数
  3. SELECT * FROM site WHERE title='werdfghb' 并检查计数
  4. 然后运行整个查询

并查看结果。这样你就可以找出你的 SQL 代码中的问题所在。 我希望您使用 mysql 客户端来执行此查询

正如我在评论中指出的那样,$kk$page = $kk; 中未定义,因为它是在 while 循环中声明的。

做类似的事情:

$kk = '';   //can also do $kk=NULL; if you want.
while($result9 = mysqli_fetch_array($result5)) { 
    $kk=$result9['url'];
    echo $kk ;
}
$page = $kk; 

试试这个

$client = "Chaitanya";

$title = "werdfghb";

$query="SELECT * FROM site WHERE client='".$client."' and title='".$title."' ";

你也可以用这个

$查询="SELECT * FROM site WHERE client={$client} and title={$title} ";