Advertencia: mysqli::query(): No se pudo obtener mysqli en C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\class_EventCalendar.php en la línea 43
El siguiente es mi archivo de conexión:
<?php
if(!isset($_SESSION))
{
session_start();
}
// Create array to hold error messages (if any)
$ErrorMsgs = array();
// Create new mysql connection object
$DBConnect = @new mysqli("localhost","root@localhost",
NULL,"Ladle");
// Check to see if connection errno data member is not 0 (indicating an error)
if ($DBConnect->connect_errno) {
// Add error to errors array
$ErrorMsgs[]="The database server is not available.".
" Connect Error is ".$DBConnect->connect_errno." ".
$DBConnect->connect_error.".";
}
?>
Esta es mi clase:
<?php
class EventCalendar {
private $DBConnect = NULL;
function __construct() {
// Include the database connection data
include("inc_LadleDB.php");
$this->DBConnect = $DBConnect;
}
function __destruct() {
if (!$this->DBConnect->connect_error) {
$this->DBConnect->close();
}
}
function __wakeup() {
// Include the database connection data
include("inc_LadleDB.php");
$this->DBConnect = $DBConnect;
}
// Function to add events to Zodiac calendar
public function addEvent($Date, $Title, $Description) {
// Check to see if the required fields of Date and Title have been entered
if ((!empty($Date)) && (!empty($Title))) {
/* if all fields are complete then they are
inserted into the Zodiac event_calendar table */
$SQLString = "INSERT INTO tblSignUps".
" (EventDate, Title, Description) ".
" VALUES('$Date', '$Title', '".
$Description."')";
// Store query results in a variable
$QueryResult = $this->DBConnect->query($SQLString);
No soy muy bueno con OOP PHP y no estoy seguro de por qué se genera este error. Saqué este código de otro lugar y lo único que cambié fue el @new mysqli
parámetros ¿Alguien puede ayudarme a entender qué está pasando mal?
¿Dónde está la línea 43 a la que se refiere el error?
– Marc B.
12 de noviembre de 2013 a las 19:16
Intenta corregir tu objeto mysqli:
$DBConnect = @new mysqli("localhost","root","","Ladle");
– Aycan Yasit
12 de noviembre de 2013 a las 19:16
Lo siento… prueba arriba primero, puedes alcanzar el objeto mysqli…
– rernesto
12 de noviembre de 2013 a las 19:18
¿Por qué suprimen los errores por parte del
@
al llamarnew mysqli()
?-Gottlieb Notschnabel
12 de noviembre de 2013 a las 19:18
@AycanYaşıt gracias, funcionó, lo siento, no estaba seguro de cómo especificar la contraseña NULL o los campos de usuario correctamente
– codificaciónManiac
12 de noviembre de 2013 a las 19:36