2016-07-16 24 views
1

我得到的问题与主题相同,下面是代码。由于var是局部变量,无法从另一个脚本调用函数

脚本A:

$con = mysqli_connect('localhost', 'root', '', 'mysql'); 

以上正常工作,所以我在这里排除die()条款为大家easiler阅读。

脚本B:

function get_news(){ 
/* a select query */ 
$result = mysqli_query($con, $news_sql) 
or die(mysqli_error($con); 
/* other codes follow */ 
}; 

脚本C:

require_once "Script B"; 
get_news(); 

上述失败,一些testings后,我确认问题脚本B.

在于对VAR $con至少有两种方法可以解决这个问题:

a)replace $conmysqli_connect(); B)再次在函数中的脚本B

定义$con虽然这个解决我的问题,但似乎都没有很好的做法。我应该将$con定义为$_global var吗?你能否建议其他更好的方法。

非常感谢!

脚本B的

原始代码:

function get_news(){ 
    $news_sql = "SELECT * from pink_news ORDER BY news_id DESC LIMIT 3"; 
    $result = mysqli_query($con, $news_sql) 
    or die(mysqli_error($con)); 
    while ($rows = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    echo "<div class='news'><ul><li>"; 
    echo "<img src='" . $rows['img'] . "'>"; 
    echo "<h2>" . $rows['headline'] . "</h2>"; 
    echo "<p>" . $rows['content'] . "</p>"; 
    echo "</li></ul></div>"; 
    }; 
}; 
+0

将其指定为全局变量全局变量$ CON;或者在页面中包含脚本a并将参数传递给函数get_new($ con); – JYoThI

+0

非常感谢jothi,这有助于! – Kenny

回答

1

包括script A到你网页

include 'connection.php'; 

然后通过$con您功能为

get_news($con);// pass connection to your function 

而且在脚本B使用它作为

function get_news($con){ 
+0

谢谢萨蒂,你的建议工作:) – Kenny

0

添加require_once "Script A"到脚本B ..应该解决的问题

+0

谢谢曼尼什,祝你有美好的一天:) – Kenny

相关问题