Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP MySQL mysql_fetch_assoc с ключове за масив, разграничени с обозначения „като“

Стига да използвате * заместващ знак, ще откриете, че колони със същото име ще презапишат същите ключове във вашия асоциативен масив.

Трябва да дадете псевдоними на колони на колони от поне една от таблиците:

select t1.*, t2.col1 as t2col1, t2.col2 as t2col2, ...
from table as t1 LEFT JOIN table as t2 ON t1.id=t2.rank

Или пък можете да използвате заместващия знак, но да извлечете реда като порядков масив:

$row = mysql_fetch_array($result, MYSQL_NUM);
echo $row[4];

Относно вашия коментар:SQL има само * заместващ знак, който означава "всички колони от дадена таблица, с техните естествени имена." Трябва изрично псевдоним на колони, на база колона по колона.

Изключение:Ако използвате SQLite, има pragma full_column_names опция, която кара набора от резултати да връща квалифицирани имена на колони, така че можете да използвате * но ключовете се връщат с префикс с псевдонимите на таблицата. Това е специфичен за SQLite и нестандартен SQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. колона с времева марка на mysql

  2. Изберете точки от базата данни с карти според радиуса

  3. Верижно orX в Doctrine2 конструктор на заявки

  4. Как да групирате mysql редове със същата стойност на колоната в един ред?

  5. SELECT COUNT(*) AS count – Как да използвате този брой