Php 从函数内部调用mysqli_查询时不工作

Php 从函数内部调用mysqli_查询时不工作,php,mysql,web,mysqli,Php,Mysql,Web,Mysqli,这是我的密码: <?php $db_host = 'localhost'; $db_user = 'root'; $db_pass = 'root'; $db_database = 'drmahima_com'; $link = mysqli_connect($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a DB connection'); mysql

这是我的密码:

<?php
$db_host        = 'localhost';
$db_user        = 'root';
$db_pass        = 'root';
$db_database    = 'drmahima_com';
$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a DB connection');
mysqli_query($link, "SET names UTF8");
function temp() {
    $patient = mysqli_fetch_assoc(mysqli_query($link, "SELECT name,dob FROM patients WHERE id='69'"));
    echo $patient['name'];
}
temp();
?>

$link
传递到函数。由于该变量的
范围
,它不起作用。试试-

function temp($link) {
    $patient = mysqli_fetch_assoc(mysqli_query($link, "SELECT name,dob FROM patients WHERE id='69'"));
    echo $patient['name'];
}
temp($link);

将$link作为参数传递给函数。试试这个:

<?php
$db_host        = 'localhost';
$db_user        = 'root';
$db_pass        = 'root';
$db_database    = 'drmahima_com';
$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a DB connection');
mysqli_query($link, "SET names UTF8");
function temp($link) {
    $patient = mysqli_fetch_assoc(mysqli_query($link, "SELECT name,dob FROM patients WHERE id='69'"));
    echo $patient['name'];
}
temp($link);
?>

这是一个范围问题
$link
超出范围,您需要在参数中传递连接<代码>临时($link)
因为范围。如果您仍然想在函数中使用外部变量,可以声明
global$link内部函数,你会很好的。谢谢!真不敢相信我这么笨
<?php
$db_host        = 'localhost';
$db_user        = 'root';
$db_pass        = 'root';
$db_database    = 'drmahima_com';
$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a DB connection');
mysqli_query($link, "SET names UTF8");
function temp($link) {
    $patient = mysqli_fetch_assoc(mysqli_query($link, "SELECT name,dob FROM patients WHERE id='69'"));
    echo $patient['name'];
}
temp($link);
?>