punteros array php reference porting

array - php return by reference



Estándares estrictos: solo las variables deben asignarse por referencia PHP 5.4 (3)

Debería eliminar el símbolo & (ampersand), para que la línea 4 se vea así:

$conn = ADONewConnection($config[''db_type'']);

Del manual de php sobre asignación por referencia :

A partir de PHP 5, el nuevo operador devuelve una referencia automáticamente, asignando el resultado de resultados nuevos por referencia en un mensaje E_DEPRECATED en PHP 5.3 y posterior, y un mensaje E_STRICT en versiones anteriores.

Actualizo la versión de MyPHP a 5.4 (Xampp 1.7.3 a 1.8.0). Ahora veo Error de Estándares Estrictos , para myDBconnection :

Estándares estrictos: solo las variables deben asignarse por referencia en C: / xampp / htdocs / alous / include / dbconn.php en la línea 4

dbconn.php:

<?php defined(''_VALID'') or die(''Restricted Access!''); $conn = &ADONewConnection($config[''db_type'']); // <--- This Line 4 if ( !$conn->Connect($config[''db_host''], $config[''db_user''], $config[''db_pass''], $config[''db_name'']) ) { echo ''Could not connect to mysql! Please check your database settings!''; die(); } $conn->execute("SET NAMES ''utf8''"); ?>

Nota: ¡No necesito deshabilitar estándares estrictos en php.ini con este método error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT ! Quiero arreglar mi código PHP


Es porque estás tratando de asignar un objeto por referencia. Elimine el signo y su secuencia de comandos debería funcionar como se esperaba.


Tuve este problema también.

No vi ningún cambio después de alterar:

error_reporting = E_ALL display_errors = Off

Cerré mi navegador, y paré y comencé a Apache en Xamp. Los mensajes de error habían desaparecido.