不能 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 分成更小的部分并像这样测试代码。
- 运行 没有任何
where
的查询 SELECT * FROM site
并得到计数
- 运行 查询
SELECT * FROM site WHERE client='Chaitanya'
并获取计数
SELECT * FROM site WHERE title='werdfghb'
并检查计数
- 然后运行整个查询
并查看结果。这样你就可以找出你的 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} ";
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 分成更小的部分并像这样测试代码。
- 运行 没有任何
where
的查询SELECT * FROM site
并得到计数 - 运行 查询
SELECT * FROM site WHERE client='Chaitanya'
并获取计数 SELECT * FROM site WHERE title='werdfghb'
并检查计数- 然后运行整个查询
并查看结果。这样你就可以找出你的 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} ";