2015-12-19 5 views
0
global $con; 

Я сохранил объект подключения к базе данных в переменной $ con.Как сделать объект глобально доступным в PHP

$con=mysqli_connect('localhost','username','password','database'); 

Когда я использовал его внутри функции, он недоступен. Например

function getnews($q){ 
    $q="SELECT * FROM News"; 
    mysqli_query($link,$q); 
} 

В getnews() функции с вне прохождения $link в параметре функции я не могу использовать его.

Мой вопрос: как использовать $link объект с передачей его функции в качестве параметра?

+0

'функции getnews ($ Q) использовать ($ ссылка) {...} 'try' use' из php –

+0

Вам не нужна $ link в функции mysqli как param? – devpro

ответ

2

Предполагая, что вы имеете в виду то же самое, $con и $link:

Чтобы ответить на ваш вопрос: Вы должны использовать global $con; заявление внутри функции. Затем он импортирует глобальную переменную в объем этой функции, и вы можете использовать ее в ней.

Однако Я хочу указать, что использование глобальных переменных, а также функций, которые не связаны в классах с поведением, почти всегда являются плохой практикой.

0

Вы должны использовать global $con; в каждой функции, в которой вы используете переменную. Например:

<?php 

function init() { 
    global $con; 
    $con = "test"; 
} 

function showCon() { 
    global $con; 
    var_dump($con); 
} 

init(); 
showCon(); 
0

Если здесь $ ссылка $ жулик и вы хотите использовать его в функции, то нужно сделать, как показано ниже

$con=mysqli_connect('localhost','username','password','database'); 

function getnews($q){ 
    $q= "SELECT * FROM News"; 
    global $con // you need to declare $con as global so you can access it in function scope 
    mysqli_query($con,$q); 
} 
Смежные вопросы