MySQL 查询获取数组不工作

MySQL query fetch array not working

我有一些 MySQL 个查询,但其中一个不工作 ("Number 1")。另一个查询 ("Number 2") 工作正常。但是我必须重复"Number 2"很多次,超过100次。很难。我无法使用查询 "Number 1"。怎么了?

"Number 1"

<?php
require_once ("../config/config.db.inc.php");

$sdd_db_host = DB_HOSTNAME;
$sdd_db_name = DB_DATABASE;
$sdd_db_user = DB_USERNAME;
$sdd_db_pass = DB_PASSWORD;
mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);
mysql_select_db($sdd_db_name);

mysql_query ("set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8");
$menu = mysql_fetch_array(mysql_query("SELECT * `tbl_customers`"));

echo $menu['finskaya_razdel']; ?>

什么都没发生,但应该发生! ['finskaya_razdel'] 不止一个...

"Number 2"

<?php
require_once ("../config/config.db.inc.php");

$sdd_db_host = DB_HOSTNAME;
$sdd_db_name = DB_DATABASE;
$sdd_db_user = DB_USERNAME;
$sdd_db_pass = DB_PASSWORD;
mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);
mysql_select_db($sdd_db_name);

mysql_query ("set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8");

$menu = mysql_query("SELECT finskaya_razdel FROM `tbl_customers` WHERE customers_id='1008' or customers_id='8'");
$menu_res = mysql_result($menu, 0);

echo $menu_res; ?>

这个查询有效。但这太疯狂了……我有 100 多个查询要处理。还有 1 个 "gorgeous"。我做错了什么?

  1. msql_fetch_* 一次提取一行。你必须每次循环并应用它。
  2. 要使用列名,您必须使用 mysql_fetch_assoc(对于 mysql_fetch_array,您必须使用索引号)。

所以...

$menu = mysql_query("SELECT * FROM tbl_customers");

while ($row = mysql_fetch_assoc($menu))
    echo $row["finskaya_razdel"];

...或者如果您需要在 php 多维数组中获得结果...

$menu = mysql_query("SELECT * FROM tbl_customers");

$results = array();
while ($row = mysql_fetch_assoc($menu))
    $results[] = $row;

注意:@BarclickFloresVelasquez 是对的。你应该移动到 mysqli 或 PDO