Проверяют ли эти функции, есть ли соединение с базой данных, и отображают ли данные?

#php #function

#php #функция

Вопрос:

Кто-нибудь может объяснить, что делают эти две функции? Я думаю, что они проверяют, подключены ли вы к базе данных, и если нет, отображают ли ошибку, но я не совсем уверен. Я также понятия не имею, что происходит построчно. Может кто-нибудь, пожалуйста, объяснить?

 <?php    
private function getData($sqlQuery) {
  $result = mysqli_query($this->dbConnect, $sqlQuery);
  if(!$result){
    die('Error in query: '. mysqli_error());
  } //peforms a  query against database to check it is connected
  $data= array();
  while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $data[]=$row;
  } 
 return $data;
}
private function getNumRows($sqlQuery) {
    $result = mysqli_query($this->dbConnect, $sqlQuery);
    if(!$result){
        die('Error in query: '. mysqli_error());
    }
    $numRows = mysqli_num_rows($result);
    return $numRows;
}
}
?>
  

Комментарии:

1. они (на самом деле) не проверяют, подключены ли вы к базе данных, но первая выполняет данный запрос и возвращает результирующий массив $data . Вторая функция делает почти то же самое, но просто возвращает количество строк в результате.

Ответ №1:

 <?php    
private function getData($sqlQuery) {    //creates a function named 'getData' with a required parameter
  $result = mysqli_query($this->dbConnect, $sqlQuery); //uses mysqli to query against the "$dbConnect" resource using the passed parameter $sqlQuery
  if(!$result){ //If the result doesn't exist die
    die('Error in query: '. mysqli_error());//die and show error
  } //peforms a  query against database to check it is connected
  $data= array();//create an empty array
  while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {//fetch a row using association (aka an array mapped by keys with no numbered index)
    $data[]=$row;//array push the returned row
  } 
 return $data;//return an array of arrays that you've gotten from MySqlI
}
private function getNumRows($sqlQuery) {//create a function
    $result = mysqli_query($this->dbConnect, $sqlQuery);//query
    if(!$result){//if no result die
        die('Error in query: '. mysqli_error());//die and show error
    }
    $numRows = mysqli_num_rows($result);//get the number of rows in the query
    return $numRows;//return the number of rows in the query
}
}
?>
  

Надеюсь, это поможет