Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL查询返回的不是我期望的结果,因为数据库记录和I';我不知道该怎么办_Php_Mysql_Mysqli - Fatal编程技术网

Php MySQL查询返回的不是我期望的结果,因为数据库记录和I';我不知道该怎么办

Php MySQL查询返回的不是我期望的结果,因为数据库记录和I';我不知道该怎么办,php,mysql,mysqli,Php,Mysql,Mysqli,我创建了一个超链接,该链接指向一个页面,该页面列出了我数据库中的所有标记,如下所示: <?php $sql = "SELECT tag FROM tags"; echo "<ul id='ulTags'>"; $result = mysqli_query($conn, $sql); while ($row = $result->fetch_assoc()){ echo '<a href="specificTag.php?='.$row['tag'].'"&g

我创建了一个超链接,该链接指向一个页面,该页面列出了我数据库中的所有标记,如下所示:

<?php
$sql = "SELECT tag FROM tags";
echo "<ul id='ulTags'>";
$result = mysqli_query($conn, $sql);
while ($row = $result->fetch_assoc()){
    echo '<a href="specificTag.php?='.$row['tag'].'"><li class="listTags">'.$row['tag'].'</li></a>';
}
echo "</ul>";
?>
<?php

    $tagName = $_SERVER['QUERY_STRING'];
    $realTagName = substr($tagName, 1);

    echo $realTagName;

    $sql = "SELECT * FROM tags WHERE tag='$realTagName'";
    $result = mysqli_query($conn, $sql);
    $getResult = mysqli_fetch_assoc($result);
    $tagId = $getResult['id'];

    echo $tagId;

    $sql2 = "SELECT * FROM tagsconnection WHERE tagid='$tagId'";
    $result2 = mysqli_query($conn, $sql2);
    $getResult2 = mysqli_fetch_assoc($result2);
    $imageId = $getResult2['imageid'];

    echo $imageId;

?>

如您所见,单击某个标记后,您将被发送到另一个包含该URL的页面,并根据该URL检查您在上一个页面上单击的标记,如下所示:

<?php
$sql = "SELECT tag FROM tags";
echo "<ul id='ulTags'>";
$result = mysqli_query($conn, $sql);
while ($row = $result->fetch_assoc()){
    echo '<a href="specificTag.php?='.$row['tag'].'"><li class="listTags">'.$row['tag'].'</li></a>';
}
echo "</ul>";
?>
<?php

    $tagName = $_SERVER['QUERY_STRING'];
    $realTagName = substr($tagName, 1);

    echo $realTagName;

    $sql = "SELECT * FROM tags WHERE tag='$realTagName'";
    $result = mysqli_query($conn, $sql);
    $getResult = mysqli_fetch_assoc($result);
    $tagId = $getResult['id'];

    echo $tagId;

    $sql2 = "SELECT * FROM tagsconnection WHERE tagid='$tagId'";
    $result2 = mysqli_query($conn, $sql2);
    $getResult2 = mysqli_fetch_assoc($result2);
    $imageId = $getResult2['imageid'];

    echo $imageId;

?>

现在我面临的问题是,如果数据库中的某个标记有空格,则URL中的空格将替换为%20,这会干扰我的查询,因为$realTagName将与数据库中的标记不同。
例如,一个名为Blue的标记在查询中可以正常工作,但一个名为Blue Whale的标记无法工作,因为我的$realTagName将是Blue%20Whale。有什么办法解决这个问题吗?

你听说过吗?或者你也可以直接使用
$\u GET
。不,但是看一看,这似乎是一个完美的解决方案。谢谢!作为一个辅助节点:你应该验证参数并阅读准备好的语句。你听说过吗?或者你也可以直接使用
$\u GET
。不,但是看一看,这似乎是一个完美的解决方案。谢谢!作为一个侧节点:您应该验证参数并阅读准备好的语句。