programing

PHP를 사용하여 열에 있는 모든 값을 얻는 방법은 무엇입니까?

css3 2023. 10. 7. 12:07

PHP를 사용하여 열에 있는 모든 값을 얻는 방법은 무엇입니까?

이 문제를 여기저기서 찾아봤지만, 여전히 해결책을 찾을 수 없습니다.mySQL 열에서 모든 값을 가져와 배열에 저장하려면 어떻게 해야 합니까?

예: 테이블 이름:고객 열 이름: ID, 행 이름 번호: 5

저는 이 표에 있는 5개의 이름을 모두 배열하고 싶습니다.어떻게 해야 하죠?저는 PHP를 사용하고 있고, 저는 단지 다음과 같이 하려고 했습니다.

SELECT names FROM Customers

그 다음에 사용합니다.

mysql_fetch_array

PHP 기능은 이러한 값을 배열에 저장합니다.

PDO 또는 mysqli를 사용하여 이를 수행하는 간단한 방법이 있습니다.

$stmt = $pdo->prepare("SELECT Column FROM foo");
// careful, without a LIMIT this can take long if your table is huge
$stmt->execute();
$array = $stmt->fetchAll(PDO::FETCH_COLUMN);
print_r($array);

또는 mysqli를 사용합니다.

$stmt = $mysqli->prepare("SELECT Column FROM foo");
$stmt->execute();
$array = [];
foreach ($stmt->get_result() as $row)
{
    $array[] = $row['column'];
}
print_r($array);

Array
(
    [0] => 7960
    [1] => 7972
    [2] => 8028
    [3] => 8082
    [4] => 8233
)

이 대답은 구식이라는 것을 참고하세요!mysql 확장자는 PHP7 현재 더 이상 즉시 사용할 수 없습니다.PHP7에서 이전의 mysql 함수를 사용하려면 PECL에서 ext/mysql을 컴파일해야 합니다.최신 솔루션에 대한 자세한 내용은 다른 답변을 참조하십시오.


이것은 효과가 있을 것입니다. 자세한 문서는 여기 http://php.net/manual/en/function.mysql-fetch-array.php 를 참조하십시오.

$result = mysql_query("SELECT names FROM Customers");
$storeArray = Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $storeArray[] =  $row['names'];  
}
// now $storeArray will have all the names.

저는 데이터베이스에 연결하기 위해 mysqli 연결을 사용할 것입니다.다음은 예입니다.

$connection = new mysqli("127.0.0.1", "username", "password", "database_name", 3306);

다음 단계는 정보를 선택하는 것입니다.당신의 경우라면 다음과 같이 하겠습니다.

$query = $connection->query("SELECT `names` FROM `Customers`;");

마지막으로 다음과 같은 이름을 입력하여 배열을 만듭니다.

$array = Array();
while($result = $query->fetch_assoc()){
    $array[] = $result['names'];
}

print_r($array);

그래서 이 코드에서 내가 한 일은:mysql 쿼리를 사용하여 테이블에서 모든 이름을 선택했습니다.다음으로 $query에 다음 값이 있는지 확인하기 위해 while loop을 사용합니다.그렇다면 while 루프가 계속되고 해당 값을 배열 '$array'에 추가합니다.그렇지 않으면 루프가 멈춥니다.그리고 마지막으로 'print_r' 방법으로 배열을 인쇄하여 모든 것을 확인할 수 있습니다.도움이 됐기를 바랍니다.

mysql_*는 사용되지 않으므로, 여기에 mysqli를 사용한 솔루션이 있습니다.

$mysqli = new mysqli('host', 'username', 'password', 'database');
if($mysqli->connect_errno>0)
{
  die("Connection to MySQL-server failed!"); 
}
$resultArr = array();//to store results
//to execute query
$executingFetchQuery = $mysqli->query("SELECT `name` FROM customers WHERE 1");
if($executingFetchQuery)
{
   while($arr = $executingFetchQuery->fetch_assoc())
   {
        $resultArr[] = $arr['name'];//storing values into an array
   }
}
print_r($resultArr);//print the rows returned by query, containing specified columns

PDO를 사용하여 이를 수행하는 다른 방법이 있습니다.

  $db = new PDO('mysql:host=host_name;dbname=db_name', 'username', 'password'); //to establish a connection
  //to fetch records
  $fetchD = $db->prepare("SELECT `name` FROM customers WHERE 1");
  $fetchD->execute();//executing the query
  $resultArr = array();//to store results
  while($row = $fetchD->fetch())
  {
     $resultArr[] = $row['name'];
  }
  print_r($resultArr);

PHP 5 >= 5.5.0, PHP 7

결과 배열에 array_column 사용

$column = array_column($result, 'names');

MySQL 함수를 PHP 7에 다시 넣는 방법
1단계

먼저 3월에 제거된 mysql 확장 소스를 가져옵니다.

https://github.com/php/php-src/tree/PRE_PHP7_EREG_MYSQL_REMOVALS/ext/mysql

2단계

그런 다음 php.ini를 편집합니다.

"확장" 섹션 또는 "MySQL" 섹션의 어딘가에 다음 행을 추가하기만 하면 됩니다.

extension = /usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysql.so

3단계

PHP와 mysql_* 함수를 다시 시작해야 합니다.

4단계

mysql_*의 경고를 포함하여 사용하지 않는 경고를 모두 해제합니다.

error_reporting(E_ALL ^ E_DEPRECATED);

아래 코드 도움말:

$result = mysql_query("SELECT names FROM Customers");
$Data= Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
        $Data[] =  $row['names'];  
}

열에 있는 모든 값을 구할 수도 있습니다.mysql_fetch_assoc

$result = mysql_query("SELECT names FROM Customers");
    $Data= Array();
    while ($row = mysql_fetch_assoc($result)) 
    {
            $Data[] =  $row['names'];  
    }

이 확장자는 PHP 5.5.0에서 더 이상 사용되지 않았고 PHP 7.0.0에서는 삭제되었습니다.대신 MySQLi 또는 PDO_MySQL 확장자를 사용해야 합니다.

언급


MYSQL Easy way의 MYSQL 대안을 사용할 수 있습니다.


*

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
$result=mysqli_query($con,$sql);

// Numeric array
$row=mysqli_fetch_array($result,MYSQLI_NUM);
printf ("%s (%s)\n",$row[0],$row[1]);

// Associative array
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("%s (%s)\n",$row["Lastname"],$row["Age"]);

// Free result set
mysqli_free_result($result);

mysqli_close($con);
?> 

첫번째로 이것은 고급 개발자들만을 위한 것입니다. 모두들 pp를 초보적으로 사용하는 사람들은 이 기능을 사용하지 않습니다. 만약 당신이 코어 pp에서 거대한 프로젝트를 사용하고 있다면 이 기능을 사용합니다.

function displayAllRecords($serverName, $userName, $password, $databaseName,$sqlQuery='')
{
    $databaseConnectionQuery =  mysqli_connect($serverName, $userName, $password, $databaseName);
    if($databaseConnectionQuery === false)
    {
        die("ERROR: Could not connect. " . mysqli_connect_error());
        return false;
    }

    $resultQuery = mysqli_query($databaseConnectionQuery,$sqlQuery);
    $fetchFields = mysqli_fetch_fields($resultQuery);
    $fetchValues = mysqli_fetch_fields($resultQuery);

    if (mysqli_num_rows($resultQuery) > 0) 
    {           

        echo "<table class='table'>";
        echo "<tr>";
        foreach ($fetchFields as $fetchedField)
         {          
            echo "<td>";
            echo "<b>" . $fetchedField->name . "<b></a>";
            echo "</td>";
        }       
        echo "</tr>";
        while($totalRows = mysqli_fetch_array($resultQuery)) 
        {           
            echo "<tr>";                                
            for($eachRecord = 0; $eachRecord < count($fetchValues);$eachRecord++)
            {           
                echo "<td>";
                echo $totalRows[$eachRecord];
                echo "</td>";               
            }
            echo "<td><a href=''><button>Edit</button></a></td>";
            echo "<td><a href=''><button>Delete</button></a></td>";
            echo "</tr>";           
        } 
        echo "</table>";        

    } 
    else
    {
      echo "No Records Found in";
    }
}

All set now 인수를 For로 전달합니다.Example

$queryStatement = "SELECT * From USers"; $testing = displayAllRecords('localhost', 'root', 'root@123', 'email', $queryStatement); echo $testing;

여기서

localhost이름을 나타냅니다.host,

root에 대한 사용자 이름을 나타냅니다.database

root@123표시합니다.password for the database

$queryStatment위해서generating Query

도움이 되기를 바랍니다

언급URL : https://stackoverflow.com/questions/5229501/how-get-all-values-in-a-column-using-php