PHP和MYSQL JSON API查询
我一直在寻找答案,尝试了很多方法,但无论我怎么说,似乎都无法找到答案。我错过了一些东西。。哈哈 我有一个从mysql获取数据的php文件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
$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";