如何使用单词的前三个字母从 mySql 获取查询


how to fetch query from mySql using first three alphabet of a word

我正在制作一个Android应用程序,使用php将数据保存到mySql中。现在,在制作表格并保存数据后,我想获取数据。但是我想使用前三个或四个字母获取数据。我该怎么做,请帮助我。我的PHP代码是。

    <?php
   require "loginConnect.php";
  $bookname =  $_GET['bookname'];
  $sql = "SELECT * FROM novels WHERE bookname LIKE '$bookname%'";
   $r = mysqli_query($con,$sql);
  $result = array();
  $row = mysqli_fetch_array($r);
  array_push($result,array(
                      "id"=>$row['id'],
                        "photo"=>$row['photo'],
            "bookname"=>$row['bookname'],
            "phoneNumber"=>$row['phoneNumber'],
            "price"=>$row['price'],
                             "discription"=>$row['discription'],
                             "address"=>$row['address'],
                             "publicationName"=>$row['publicationName'] 
             ));

       echo json_encode(array('result'=>$result));
       mysqli_close($con);
   ?>

使用 PHP substr() 和 MySQL LIKE

substr($bookname, 0, 4)会给你前四个角色。

like '$bookname%'将为您提供从这四个字符开始的所有bookname记录。

$bookname = substr($bookname, 0, 3);
$sql = "SELECT * FROM novels WHERE bookname LIKE '$bookname%'";
您可以使用

substr函数来获取单词的前 3/4 个字符。喜欢这个

$characters = substr($bookname, 0, 4); 

并在 SQL 查询中使用 LIKE 根据您获得的字符查找结果。

$sql = "SELECT * FROM novels WHERE bookname LIKE '$characters%'";

所以你的脚本将看起来像这样。

<?php
   require "loginConnect.php";
  $bookname =  $_GET['bookname'];
  $characters = substr($bookname, 0, 4); 
  $sql = "SELECT * FROM novels WHERE bookname LIKE '$characters%'";
   $r = mysqli_query($con,$sql);
  $result = array();
  $row = mysqli_fetch_array($r);
  array_push($result,array(
                      "id"=>$row['id'],
                        "photo"=>$row['photo'],
            "bookname"=>$row['bookname'],
            "phoneNumber"=>$row['phoneNumber'],
            "price"=>$row['price'],
                             "discription"=>$row['discription'],
                             "address"=>$row['address'],
                             "publicationName"=>$row['publicationName'] 
             ));
       echo json_encode(array('result'=>$result));
       mysqli_close($con);
   ?>