Php Mysql查询无法正常工作:从“表”中选择*其中“列”=“某些字符串”

Php Mysql查询无法正常工作:从“表”中选择*其中“列”=“某些字符串”,php,mysql,select,Php,Mysql,Select,我很难让它工作。我想从数据库中选择行并将其呈现到列表中。这是我的代码: <ul class = "list"> <li> <?php $x = 'some_string'; $title = 'title'; $dbc = mysqli_connect('localhost', 'root', '', 'database') or die('Error connecting'); $query = "SELECT * FRO

我很难让它工作。我想从数据库中选择行并将其呈现到列表中。这是我的代码:

<ul class = "list">
  <li>
  <?php
    $x = 'some_string';
    $title = 'title';

    $dbc = mysqli_connect('localhost', 'root', '', 'database') or die('Error connecting');
    $query = "SELECT * FROM table WHERE column ==$x ORDER BY procenat DESC LIMIT 5";
    $data = mysqli_query($dbc, $query);
  ?>
   <div id = "listdiv">
  <?php
    while ($row = mysqli_fetch_array($data)) {
  ?>
    <h4><?php echo $row[$title]; ?> </h4>
  <?php 
    }
    mysqli_close($dbc);
  ?>
   </div> </li> </ul>

我尝试使用“%$x%”之类的工具,但效果不佳。我试着。。。column=$x

您需要使用单等号和引号

    $query = "SELECT * FROM table WHERE column = '$x' ORDER BY procenat DESC LIMIT 5";

你应该像这样使用LIKE操作符

$query = "SELECT * FROM table WHERE column_name LIKE '%$x%' ORDER BY procenat DESC LIMIT 5

更改查询行,如下所示

$query = "SELECT * FROM table WHERE column = '".$x."' ORDER BY procenat DESC LIMIT 5";

您的查询中有两个错误,请尝试这一个

将$x替换为“$x” 替换==为= 运行您的查询
为什么两倍相等?这是错误的,请删除==并使用=重试您是否收到任何错误或未显示任何内容?+以在PHP代码中串联?这不是javascriptFrist,定义/解释不起作用。第二,您是否尝试过直接在控制台中运行SQL?它有用吗?我试过一个=但没用你可以看到我一直写到最后。鲨鱼又不行了。我不认为问题出在查询上,因为我几乎什么都试过了。然后加载phpmyadmin并确保查询执行。完成后,我们将确定问题出在php方面。%应该在查询中…%$x、 %请尝试使用“%$x%”之类的单引号。不是这样的。我认为问题不在查询中。我看到了那个代码并运行了那个查询,所以我在查询中发现了一个问题。 $x = 'some_string'; $query = "SELECT * FROM table WHERE column ='$x' ORDER BY procenat DESC LIMIT 5";