[Risolto] Problema ->prepare() postato il 05/08/2022 15:03:35 nel forum programmazione, gdrcd e open source e modificato da gdr-online.com il 05/08/2022 17:16:52
class pdo_connect
{
private $pdo;
public function __construct()
{
$this->pdo = new PDO("mysql:host=localhost;dbname=xxx;", "xxx", "xx");
}
public function login($email,$password)
{
$query = "
SELECT * FROM account
WHERE email = :email
AND password = :password";
$statement = $pdo->prepare($query);
$statement->bindValue(":email", $email, PDO::PARAM_STR);
$statement->bindValue(":password", $password, PDO::PARAM_STR);
$statement->execute();
}
}
Pagine → 1
05/08/2022 15:30:13 e modificato da blancks il 05/08/2022 15:31:10
Ciao! 😃
Quello che sbagli, nello specifico, è che fai uso della variabile "$pdo" che non viene definita da nessuna parte. L'errore te lo spiega:
Call to a member function prepare() on null
private $pdo;
$statement = $this->pdo->prepare($query);
05/08/2022 15:30:21 e modificato da anneth il 05/08/2022 15:31:02
$statement = $pdo->prepare($query);
$statement = $this->pdo->prepare($query);
05/08/2022 15:31:30 e modificato da soizora il 05/08/2022 15:32:11
...$this->pdo->prepare()...
05/08/2022 16:17:14 e modificato da darkblade il 05/08/2022 16:19:02
uhmmm no...
class pdo_connect
{
private $pdo;
public function __construct()
{
try
{
$this->pdo = new PDO("mysql:host=localhost;dbname=xxx;", "xxx", "xxx");
}
catch ( PDOException $e )
{
echo 'ERROR!';
print_r( $e );
return false;
}
return true;
}
public function login($email,$password)
{
$query = "SELECT * FROM account WHERE email = :email AND password = :password";
try
{
$statement = $this->$pdo->prepare($query);
$statement->bindValue(":email", $email, PDO::PARAM_STR);
$statement->bindValue(":password", $password, PDO::PARAM_STR);
$statement->execute();
}
catch ( PDOException $e )
{
echo 'ERROR!';
print_r( $e );
return false;
}
return true;
}
}
05/08/2022 16:23:44
$this->pdo = new PDO("mysql:host=localhost;dbname=xxx;", "xxx", "xxx");
05/08/2022 16:33:27 e modificato da blancks il 05/08/2022 16:39:17
darkblade ha scritto: uhmmm no...
continua a darmi l'errore...
$statement = $this->$pdo->prepare($query);
$statement = $this->pdo->prepare($query);
05/08/2022 17:11:40
E' un errore, va scritto così (senza il $):
$statement = $this->pdo->prepare($query);
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
bunnyboo ha recensito Los Angeles gdr
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 18 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste