0

我正在尝试在存储在数据库中的 html 表中添加行。我正在将PHP Simple HTML DOM Parser与 MySQL 一起使用。

这是功能:

<?php
include('simple_html_dom.php');
function addRow() {
    //Connect to database and set charset
    $link = mysqli_connect("localhost", "root", "", "webapp");
    mysqli_set_charset($link, "utf8");
    
    //Connection check
    if (mysqli_connect_errno($link)) { exit("Failed to connect to MySQL: " . mysqli_connect_error()); }
    
    //Selects html from MySQL and fetch it in array
    $postContent = mysqli_query($link, "SELECT post_content FROM wp_posts WHERE ID=1");
    $result = mysqli_fetch_array($postContent);
    
    //Creates new simple html dom object
    //and loads html from $result as first value from array
    $html = str_get_html($result[0]);

    //Change inner html of <tbody id="CZ">
    $html->find("tbody[id=CZ]", 0)->innertext = '<tr><td></td><td></td><td></td><td></td><td></td></tr>';
}
?>

这是我来自 MySQL 的 html:

<table border="1"><tbody id="CZ"></tbody</table>

如果我运行它,我会Attempt to assign property of non-object in /function.php on line 21在第 21 行出现此错误:

$html->find("tbody[id=CZ]", 0)->innertext = '<tr><td></td><td></td><td></td><td></td><td></td></tr>';

如何使它工作或者你能告诉我任何建议我应该如何在数据库中附加表?

先感谢您

编辑:用 Jacobson 的代码替换了部分代码。仍然得到Attempt to assign property of non-object

4

1 回答 1

0

尝试替换这个

$html = new simple_html_dom();
$html->load($result[0]);

有了这个

$html = str_get_html($result[0]);

不过,请确保 $result[0] 实际上是从数据库返回您的 html 表。

于 2013-10-10T18:36:58.943 回答