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

Извеждане с PHP стойността на променлива или предварително дефинирана КОНСТАНТА от MySQL резултатен низ

Може би, ако запазите DB низовете в sprint_f формат, не виждам друг начин:

$color = 'blue';
define('GRASS_COLOR', 'green');

$text = 'The sky is %s and the grass is %s';
$text = sprintf( $text, $color , GRASS_COLOR );

echo $text;

АКТУАЛИЗИРАНЕ

Явно малко побързах с констатацията „не виждам друг начин '. Всъщност това определено е постижимо с използването на get_defined_vars() и get_defined_constants() функции. Идеята е да се съберат всички дефинирани от потребителя променливи и константи и след това да се заменят в низ. Това може дори да е обикновен шаблонен механизъм (ако вече не съществува).

// place here value from database
$text = 'The sky is $color and</br> the grass is GRASS_COLOR';

$color = 'blue';
define('GRASS_COLOR', 'green');

// collect all defined variables and filter them to get only variables of string and numeric type
$values = array_filter( get_defined_vars(), function( $item ) {
    return is_string($item) || is_numeric($item);
});

// append the dollar sign to keys
$keys = array_map( function( $item ) { 
    return '$'.$item;
}, array_keys( $values ) );

// create the final array by comining the arrays $keys and $values
$vars = array_combine( $keys, array_values( $values ) );

// relpace names of the variables with values
$text = str_replace( array_keys( $vars ), array_values( $vars ), $text );

// collect all constants and replace user defined constants with values
$constants = get_defined_constants( true );
$text = str_replace( array_keys( $constants['user'] ), array_values( $constants['user'] ), $text );

// we are done
echo $text;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се използват стойности None (NULL) в python mysql.connector в подготвената инструкция INSERT

  2. C#, проблеми с получаването на двойни стойности от базата данни MySQL

  3. Извършване на промени в множество записи въз основа на промяна на един запис с SQL

  4. Как да се свържа с MySQL на Amazon EC2 от Windows?

  5. Изпълнете .sql файл в Python с MySQLdb