PHP sql不显示结果
我有两个输入框,'person.tag_name'和'person.created_by',我将'person'从.js发布到.php 现在的问题是,它要求两个输入框都要字段化,只有数据才会显示,但是在我的sql语句中,我只匹配createdBy,而tag_name根本没有使用 总之:PHP sql不显示结果,php,mysql,Php,Mysql,我有两个输入框,'person.tag_name'和'person.created_by',我将'person'从.js发布到.php 现在的问题是,它要求两个输入框都要字段化,只有数据才会显示,但是在我的sql语句中,我只匹配createdBy,而tag_name根本没有使用 总之: $postdata = file_get_contents("php://input"); $request = json_decode($postdata); $createdBy = $request
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$createdBy = $request->created_by;
$tagName = $request->tag_name;
if (!empty($createdBy) && !empty($tagName)){
$Where = "created_by LIKE '%$createdBy%' AND name LIKE '%$tagName%'";
}
else if (!empty($createdBy)){
$Where = "created_by LIKE '%$createdBy%'";
}
else if (!empty($createdBy)){
$Where = "name LIKE '%$tagName%'";
}
// Create connection
$con = new mysqli($servername, $username, $password, $db);
// Check connection
if ($con->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM test.test_tag WHERE deleted_by is null AND $Where;" ;
$qry = $con ->query($sql);
$data = array();
if ($qry->num_rows > 0) {
// output data of each row
while($row = $qry->fetch_object()) {
$data[] = $row;
}
} else {
$data[] = null;
}
$con->close();
- 如果2个输入框中只有1个输入框已输入,我将不会收到数据李>
- 我将只接收数据,如果2/2输入框是现场
- 尝试删除
$tagName=$request->tag\u name代码>并返回数据
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$createdBy = $request->created_by;
$tagName = $request->tag_name;
if (!empty($createdBy) && !empty($tagName)){
$Where = "created_by LIKE '%$createdBy%' AND name LIKE '%$tagName%'";
}
else if (!empty($createdBy)){
$Where = "created_by LIKE '%$createdBy%'";
}
else if (!empty($createdBy)){
$Where = "name LIKE '%$tagName%'";
}
// Create connection
$con = new mysqli($servername, $username, $password, $db);
// Check connection
if ($con->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM test.test_tag WHERE deleted_by is null AND $Where;" ;
$qry = $con ->query($sql);
$data = array();
if ($qry->num_rows > 0) {
// output data of each row
while($row = $qry->fetch_object()) {
$data[] = $row;
}
} else {
$data[] = null;
}
$con->close();
请协助。如果需要,请从数据库接收数据 请检查您的查询
$sql = "SELECT *
FROM piwik.piwik_tag
WHERE deleted_by is null
AND created_by LIKE '%$createdBy%';";
它只创建了,查询中没有标记名
所以这里说,从数据库中获取数据只需要created_by我找到了一种解决方法,在将
$tagName
分配给它之前,包括检查$request->tagName
是否存在的条件
但是我不知道为什么如果没有这个条件,数据将无法检索,因为我会检查代码是否仍然会继续运行sql语句,并使用正确的语句
if (!empty($request->created_by)){
$createdBy = $request->created_by;
}
if (!empty($request->tag_name)){
$tagName = $request->tag_name;
}
感谢您的回复。在此代码中您没有运行SQL查询。您也没有回显任何内容。您需要创建SQL连接并使用它。。。还要注意的是,创建这样的查询允许SQL注入攻击。这不仅仅是“相关部分”,没有上下文也没用。嗨,里格斯,实际上那不是代码,我只是添加了
if else$where语句
,这样你们就知道添加and in SQL语句不是我要问的。不管怎么说,重要的是它让事情变得更清楚了。谢谢实际上“Nicker”不清楚,让他澄清问题。嗨,谢谢,是的,但这不是我的观点,我的观点是在我的查询中我甚至没有使用tag_名称,但为什么我需要在tag_名称输入框中输入字段来检索数据。太好了,所以你的意思是如果使用created_检索数据,我为什么需要tag_名称。没有问题不发布tag_name。还有一件事,如果您需要使用tag_name从db创建,并使用带有tag_name的一个and子句的查询,即和tag_name类似“%$tag_name%”的查询。您好,现在查看我的更新代码,这满足了您的关注,我已经在查询中添加了tag_name。但是这个问题仍然存在,所以我想说的是,tag_的名字并不重要。