Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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嵌入HTML超链接_Php_Mysql_Mysqli - Fatal编程技术网

使用PHP将MySQL嵌入HTML超链接

使用PHP将MySQL嵌入HTML超链接,php,mysql,mysqli,Php,Mysql,Mysqli,我对网络开发和从头开始自学是相当陌生的。 我正在进行一些练习来自学,并以一个简单的糖果店为例,熟悉PHP和MySQL作为语言。我想制作一个网页,其中只列出我的糖果的名称和超链接到一个新的网页,告诉你更多的信息。我从头开始编写了下面的代码,这在我的脑海中是有意义的,但其中肯定隐藏着一个错误。如果有人能发现我的错误和/或给出今后需要注意的提示,我将不胜感激。谢谢 <?php //sweetshop.php require_once 'login.php'; $conn = ne

我对网络开发和从头开始自学是相当陌生的。 我正在进行一些练习来自学,并以一个简单的糖果店为例,熟悉PHP和MySQL作为语言。我想制作一个网页,其中只列出我的糖果的名称和超链接到一个新的网页,告诉你更多的信息。我从头开始编写了下面的代码,这在我的脑海中是有意义的,但其中肯定隐藏着一个错误。如果有人能发现我的错误和/或给出今后需要注意的提示,我将不胜感激。谢谢

<?php //sweetshop.php
    require_once 'login.php';
    $conn = new mysqli($hn, $un, $pw, $db);
    if ($conn->connect_error) die("Error Sweetshop.");
    
    $query = "SELECT * FROM products";
    $result = $conn->query($query);
    if (!$result) die("Fatal Error");
    
    $rows = $result->num_rows;
    
    for ($j = 0; $j < $rows; ++$j)
    {
        $row = $result->fetch_array(MYSQLI_ASSOC);
        
        ?><a href="product?product_id=<?php echo htmlspecialchars($row['product_id'])?>"><?php echo htmlspecialchars($row['sweet'])?></a><br/><?
    }
    
    $result->close();
    $conn->close();
?>


我只是在您的代码片段中添加了易于使用的获取和打印选项,它就可以工作了。此外,使用
die
try/catch
来处理您的
MySQLi
PHP
错误很难理解那里到底发生了什么。因此,在开发项目时,配置
PHP
MySQLi
以报告错误是至关重要的

您可以在
PHP
MySQLi
文件顶部的下面几行打开错误报告

ini_set('display_errors', 1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
这些行打印所有错误,如
Uncaught mysqli\u sql\u异常:表'tevrakdb.prod5uct'在/var/中不存在。
致命错误:Uncaught mysqli\u sql\u异常:用户'randomuser'@…
的访问被拒绝。要更好地理解
PHP
MYSQL
错误,您可以查看

这是您的增强代码段

<?php 
    require_once 'login.php';

    ini_set('display_errors', 1); //display errors on the screen
    error_reporting(E_ALL); // All errors and warning
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); //Report errors and warnings from mysqli function calls

    $conn   = new mysqli($hn, $un, $pw, $db);
    $query  = "SELECT * FROM products";

    $result = $conn->query($query);

    if ($result->num_rows > 0) {
      while($row = $result->fetch_assoc()) { ?>
        <a href="product?product_id=<?php echo htmlspecialchars($row['product_id']); ?>">
            <?php echo htmlspecialchars($row['product_name_lang_1']); ?>        
        </a><br/>
        <?php
      }
    }

    $result->close();
    $conn->close();
?>



顺便说一句,我建议不要忘记内联php代码中行的分号结尾。

谢谢你的评论@Dharman我已经按照你说的方式编辑了我的答案。我将在短时间内发布它。@Dharman我用我的示例数据库中的一些记录尝试了这个片段。使用此功能打印时,5条不同字符的记录和一个样本失败。只要试一下我在回答中给出的字符串,并将其交给htmlspecialschars。@Dharman okey我会尽快查找和编辑。第一个错误是
新建mysqli
。如果不是真正的数据库库,使用PDO会更好。第二个错误是从product_id=“”所在的产品中执行
$query=“选择*”$_获取[“产品标识”]所以不要这样做!