PHP和MYSQL JSON API查询

PHP和MYSQL JSON API查询,php,mysql,json,Php,Mysql,Json,我一直在寻找答案,尝试了很多方法,但无论我怎么说,似乎都无法找到答案。我错过了一些东西。。哈哈 我有一个从mysql获取数据的php文件 $query = "SELECT * FROM `UnitMaintbl` WHERE `Unit` LIKE '%{$value}%' ORDER BY Recnum DESC"; 这很好,但是我有一个字段,它是另一个表的索引,我需要另一个表的描述。所以我需要将这两个表内部连接起来。好的,没问题 $query = "SELECT * FROM `UnitM

我一直在寻找答案,尝试了很多方法,但无论我怎么说,似乎都无法找到答案。我错过了一些东西。。哈哈

我有一个从mysql获取数据的php文件

$query = "SELECT * FROM `UnitMaintbl` WHERE `Unit` LIKE '%{$value}%' ORDER BY Recnum DESC";
这很好,但是我有一个字段,它是另一个表的索引,我需要另一个表的描述。所以我需要将这两个表内部连接起来。好的,没问题

$query = "SELECT * FROM `UnitMaintbl` 
INNER JOIN `Statustbl` ON UnitMaintbl.StatusID=Statustbl.StatusDesc
ORDER BY Recnum DESC";
首先,我想让连接基于任何单元进行测试。然后我想从表格中得到我的美元价值。所以

$query = "SELECT * FROM `UnitMaintbl` 
INNER JOIN `Statustbl` ON UnitMaintbl.StatusID=Statustbl.StatusDesc
WHERE Unitmaintbl.Unit = '%{$value}%'"
ORDER BY Recnum DESC";
我尝试了一些不同的帮助场景,但似乎无法实现

非常感谢您的帮助。。。。提前谢谢

编辑


您的查询应该如下所示:

$query = "SELECT * FROM `UnitMaintbl` 
        INNER JOIN `Statustbl` ON UnitMaintbl.StatusID=Statustbl.StatusDesc
        WHERE Unitmaintbl.Unit LIKE '%{$value}%'
        ORDER BY Recnum DESC";
不要使用
=
一样搜索列中的指定模式


旁注:请不要使用
mysql
数据库扩展,它们在PHP5.5.0中被弃用,在PHP7.0.0中被删除。改用
mysqli
PDO
扩展。这是。

之后的%{$value}%
不是必需的。我试着去掉它,结果得到:警告:mysql\u fetch\u assoc():在第43行的/home/picorp05/public\u html/json.php中提供的参数不是有效的mysql结果资源[]请回答您的问题,并提供代码,以便我们能够帮助您。此错误与您提供的代码无关。谢谢大家…我用我的php更新了完整的内容。您现在遇到了什么错误?您应该解释OP代码与您的代码之间的差异。另外,最新的旁注:p.@FirstOne我确信查询是非常自明的。我知道,但我的意思是你改变了什么。你可以添加一些文字来解释或至少说你从
=
改为
喜欢
。我看到了区别。喜欢,但我仍然会得到相同的错误。注意,一旦我弄清楚如何工作,我会重写。。哈哈。感谢帮助人员。@RichRich首先检查它是否返回任何结果集。使用
 mysql_num_rows()
函数。
<?php
// Variables From Search

$sunit=$_GET['Unit']; // Unit Number

// Create connection
$con=mysqli_connect("localhost","username","password","dbname");

// Check connection
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// This SQL statement should select Unit ($sunit) from the table     'UnitMainTbl and
// Join related table. '

$query = "SELECT * FROM `UnitMaintbl` 
         INNER JOIN `Statustbl` ON UnitMaintbl.StatusID=Statustbl.StatusDesc
         WHERE Unitmaintbl.Unit = '%{$sunit}%'
         ORDER BY Recnum DESC";

// Check if there are results
if ($result = mysqli_query($con, $sql))
{
// If so, then create a results array and a temporary one
// to hold the data
$resultArray = array();
$tempArray = array();

// Loop through each row in the result set
while($row = $result->fetch_object())
{
    // Add each row into our results array
    $tempArray = $row;
    array_push($resultArray, $tempArray);
}

// Finally, encode the array to JSON and output the results
echo json_encode($resultArray);
}

// Close connections
mysqli_close($result);
mysqli_close($con);
?>
<?php

// Variables From Search
$sunit=$_GET['Unit']; // Unit Number

//open connection to mysql db
$connection = mysqli_connect("localhost","user","pass","PicorpBE") or     die("Error " . mysqli_error($connection));

//fetch table rows from mysql db
$sql = "SELECT * FROM `UnitMaintbl` 
    INNER JOIN `Statustbl` ON UnitMaintbl.StatusID=Statustbl.StatusDesc
    WHERE UnitMaintbl.Unit LIKE '%{$sunit}%'
    ORDER BY Recnum DESC";

$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

//create an array
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
    $emparray[] = $row;
}
echo json_encode($emparray);

//close the db connection
mysqli_close($connection);
?>
$query = "SELECT * FROM `UnitMaintbl` 
        INNER JOIN `Statustbl` ON UnitMaintbl.StatusID=Statustbl.StatusDesc
        WHERE Unitmaintbl.Unit LIKE '%{$value}%'
        ORDER BY Recnum DESC";