连接到wordpress中的第二个数据库

连接到wordpress中的第二个数据库,wordpress,database-connection,Wordpress,Database Connection,我想连接到Wordpress中的外部数据库以获取自定义脚本。 但当我运行脚本时,它会在 该连接是良好的,它是由插件测试阿里管理员。这个插件还可以评估表和字段的有效性 Wordpressversion=4.9.4 这是脚本的一部分: <?php $mydb = new wpdb('user','password','database','localhost'); $urlfoto = $url.'images/logos/'; ?> <div class="klanten

我想连接到Wordpress中的外部数据库以获取自定义脚本。 但当我运行脚本时,它会在

该连接是良好的,它是由插件测试阿里管理员。这个插件还可以评估表和字段的有效性

Wordpressversion=4.9.4

这是脚本的一部分:

<?php
$mydb = new wpdb('user','password','database','localhost');
$urlfoto = $url.'images/logos/';
?>
    <div class="klanten_gallery">
        <div class="container">
            <div class="klanten_gallery_inn">
                <div class="klanten_gallery_header">
                Onze klanten
                <h2><?php the_title(); ?></h2>
                    <div class="border_photo_klanten"></div>
                </div>
                <div class="klanten_gallery_text">
                    <?php
                        if ( have_posts() ) : while ( have_posts() ) : the_post(); 
                            the_content(); 
                        endwhile; endif;
                    ?>
                </div>
                <div class="gal">
                <?php   
    $qry ='
        SELECT kl_logos.id, kl_logos.klnr, kl_logos.image, kl_overzicht.kl_overzicht_naam
        FROM kl_logos
        INNER JOIN kl_overzicht
        ON kl_logos.klnr = kl_overzicht.kl_overzicht_klnr
        ORDER BY RAND()
        LIMIT 18';
    if(!$result = $mydb ->query($qry)) {
        echo ' Error in query: '. $mydb->error; 
    }else while($list = $result->fetch_assoc()){
        echo'
                <a class="fancy6" href="#" title="'.$list['kl_overzicht_naam'].'">
                    <div class="klanten_image">
                    <img src="'.$urlfoto.$list['image'].'" alt="'.$list['kl_overzicht_naam'].'"/>
                    </div>
                </a>';
                }       
    ?>      
                 </div> 
            </div>
        </div>
    </div>

昂泽克兰滕
我找到了答案

WP不支持$list=$result->fetch_assoc(),所以我用foreach($results as$list)替换了它

因此,对于下一个脚本,我希望这将帮助其他用户

<?php   
$qry ='
SELECT kl_logos.id, kl_logos.klnr,  kl_logos.image, kl_overzicht.kl_overzicht_naam
FROM kl_logos
INNER JOIN kl_overzicht
ON kl_logos.klnr = kl_overzicht.kl_overzicht_klnr
ORDER BY RAND()
LIMIT 18';
if(!$results = $mydb ->prepare($qry)) {
echo ' Error in query: '. $mydb->error; 
}else{
$results = $mydb->get_results($qry, 'ARRAY_A');
foreach ($results as $list) {
echo'                   
<a class="fancy6" href="#" title="'.$list['kl_overzicht_naam'].'">
    <div class="klanten_image">
    <img src="'.$urlfoto.$list['image'].'" alt="'.$list['kl_overzicht_naam'].'"/>   
    </div>
</a>';
}   
}           
?>  

您好,请将此代码添加到function.php。在需要的地方使用它,使其成为全局性的

function connect_another_db() {
  global $seconddb;
  define('HOST', "localhost");
  define('USER', "root");
  define('PASS', "");
  define('DATABASE', "wpshop_node_for_post");
 
    $seconddb = new wpdb(USER, PASS, DATABASE, HOST);
}
add_action('init', 'connect_another_db');

您在哪里定义$url?这不是解决方案的一部分,但仍然可以检查。评论不错,我忘记了这一部分,但这不是解决我问题的方案。但是谢谢你的提示。在哪一行之后停止?除此之外,您可以使用
get_results
而不是
query
方法,
wpdb
类没有
error
属性。您可以使用
$mydb->print_error()以显示最后一个错误。网站上更多的人不知何故删除了这条线。脚本在结束后停止