Php 按下链接时运行MySQL查询

Php 按下链接时运行MySQL查询,php,mysql,Php,Mysql,我有一段PHP代码,它根据我的查询创建一个表。在这个表中,我想基于输出(路径)创建链接。当单击这些时,它们将触发另一个查询运行。请参阅下面的代码和进一步解释 代码如下所示: <?php /* Attempt MySQL server connection. Assuming you are running MySQL server with default setting (user 'root' with no password) */ $link = mysqli_connect("l

我有一段PHP代码,它根据我的查询创建一个表。在这个表中,我想基于输出(路径)创建链接。当单击这些时,它们将触发另一个查询运行。请参阅下面的代码和进一步解释

代码如下所示:

<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "DB1");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Attempt select query execution
$sql = "SELECT * FROM testDB";
if($result = mysqli_query($link, $sql)){
    if(mysqli_num_rows($result) > 0){
        echo "<table>";
            echo "<tr>";
                echo "<th>file</th>";
                echo "<th>path</th>";
                echo "<th>type</th>";
            echo "</tr>";
        while($row = mysqli_fetch_array($result)){
            echo "<tr>";
                echo "<td>" . $row['file'] . "</td>";
                echo "<td>" . $row['path'] . "</td>";
                echo "<td>" . $row['type'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        // Free result set
        mysqli_free_result($result);
    } else{
        echo "No records matching your query were found.";
    }
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// Close connection
mysqli_close($link);
?>
然后在表中添加:

echo "<td><a href='http://myurl.com/test.php?path=" . $row['path'] . "'>" . $row['path'] . "<a/></td>";
echo”“$行['path']。"";
但是点击链接,应该执行
SELECT file,path,type FROM testDB WHERE path=?
总是给出“找不到与您的查询匹配的记录”。会出现什么问题?另外,请注意,我在路径中有反斜杠,但由于准备好的语句,这一点得以逃脱,对吗?感谢您的帮助

尝试一步一步地使用

 $stmt->execute();
 $result = $stmt->fetch(); // or fetchAll for multiple arrays
 $connection = null;

我正在使用它,所以请尝试…

尝试使用mysqli_fetch_assoc而不是mysqli_num_行。
bindParam
是PDO,
bind_param
是mysqli。他们使用的是
mysqli
,所以这是正确的(
$link=mysqli_connect(
)。与oop相比,谢谢,但我使用PDO@chris85
bindParam
得到的输出是PDO,所以它可以使用。
bind_param
不能使用
PDO
…反之亦然。
 $stmt->execute();
 $result = $stmt->fetch(); // or fetchAll for multiple arrays
 $connection = null;