从wordpress连接到第二个数据库

时间:2018-06-12 02:42:52

标签: mysql wordpress

我正在尝试使用wordpress连接到我自己创建的第二个数据库。 我想要实现的是在我的静态wordpress首页上从我自己的数据库(而不是wordpress数据库)中提取数据。

我使用php_everywhere插件,以便在博客文章和页面中编写php代码。

我使用以下代码:

    <?php
$servername = "localhost";
$username = "thomas";
$password = "password";
$dbname = "thomas";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * from number";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>

然而,我意外地发现错误&#39;&#34; localhost&#34;&#39; (T_CONSTANT_ENCAPSED_STRING)。 不知道为什么。

3 个答案:

答案 0 :(得分:0)

请参阅https://stackoverflow.com/search?q=T_CONSTANT_ENCAPSED_STRING

1)使用该插件时,请确保在php周围使用直引号和退格键来删除不可见的控制字符。并确保插件对其功能没有限制,并忽略编辑器中的段落返回。

2)您最好在主题中使用页面模板并在.php文件中运行PHP而不是在带有插件的帖子/页面编辑器中运行PHP。见Page Templates | Theme Developer Handbook | WordPress Developer Resources。制作页面模板,添加对标题的调用等,然后在文件本身中使用PHP。在您在WordPress中发布的页面的页面编辑器中选择页面模板。

答案 1 :(得分:0)

您可以为新数据库连接创建新对象,并使用该对象对外部数据库执行任何操作

$mydb = new wpdb('thomas','password','thomas','localhost');
$rows = $mydb->get_results("select Name from my_table");

您必须使用$mydb代替$wpdb

答案 2 :(得分:0)

Wordpres提供了一种连接其他数据库的方法。

     $mydb = new wpdb('thomas','password','thomas','localhost');
     $rows = $mydb->get_results("select Name from number");
     foreach ($rows as $row) :
        echo "id: " . $row->id. " - Name: " . $row->firstname. " " . $row->lastname. "<br>";
     endforeach;