Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22082 > unrolled thread
| Started by | sap <sap@nospam.no> |
|---|---|
| First post | 2018-05-25 15:59 +0200 |
| Last post | 2018-05-25 20:05 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to it.comp.www.php
Utilizzo di variabili in una query Mysql tramite PDO sap <sap@nospam.no> - 2018-05-25 15:59 +0200
Re: Utilizzo di variabili in una query Mysql tramite PDO fmigliori <fmigliori@gmail.com> - 2018-05-25 07:32 -0700
Re: Utilizzo di variabili in una query Mysql tramite PDO sap <sap@nospam.no> - 2018-05-25 16:41 +0200
Re: Utilizzo di variabili in una query Mysql tramite PDO Leonardo Serni <lserni@gmail.com> - 2018-05-25 20:05 +0200
| From | sap <sap@nospam.no> |
|---|---|
| Date | 2018-05-25 15:59 +0200 |
| Subject | Utilizzo di variabili in una query Mysql tramite PDO |
| Message-ID | <pe94rl$8ig$1@gioia.aioe.org> |
Ciao a tutti,
non riesco a capire cosa sto sbagliando facendo quanto segue:
$query = "SET @tables = NULL;
SET @schema = 'db_pippo';
SET @pattern = '002_%';
";
$sth = $this->pdo->prepare($query);
$sth->execute();
Praticamente non arrivo neanche all'exevute ma ricevo questo errore:
"Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an
error in your SQL syntax; check the manual that corresponds to your
MariaDB server version for the right syntax to use near 'SET @schema =
'db_pippo'; SET @pattern = '002_%'' at line 2' ..."
Dove $this->pdo è una istanza di PDO valida utilizzata senza problemi in
altre parti del codice e definita come segue:
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => FALSE,
);
$dsn = 'mysql:host=' . HOST . ';dbname=' . DATABASE .
';charset=' . CHARSET;
$instance = new PDO($dsn, USER, PASSWORD, $opt);
Avete idea di cosa stia sbagliando?
Grazie in anticipo
[toc] | [next] | [standalone]
| From | fmigliori <fmigliori@gmail.com> |
|---|---|
| Date | 2018-05-25 07:32 -0700 |
| Message-ID | <a2903094-0dac-4a69-8369-67f215860e75@googlegroups.com> |
| In reply to | #22082 |
Usa nomi di variabili che non coincidano con parole chiave.
Per fare una prova:
$query = "SET @a = NULL;
SET @b = 'db_pippo';
SET @c = '002_%';
";
[toc] | [prev] | [next] | [standalone]
| From | sap <sap@nospam.no> |
|---|---|
| Date | 2018-05-25 16:41 +0200 |
| Message-ID | <pe97bj$dfs$1@gioia.aioe.org> |
| In reply to | #22083 |
Grazie per la risposta ma non è quello, praticamente ho dovuto cambiare il valore di un attributo $this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); che inizialmente avevo settato in false. Il 25/05/2018 16:32, fmigliori ha scritto: > $query = "SET @a = NULL; > SET @b = 'db_pippo'; > SET @c = '002_%'; > ";
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2018-05-25 20:05 +0200 |
| Message-ID | <f1kggdl1rlvvm1ida1rb130tjoqcadrdgp@L.Serni> |
| In reply to | #22082 |
On Fri, 25 May 2018 15:59:20 +0200, sap <sap@nospam.no> wrote: >non riesco a capire cosa sto sbagliando facendo quanto segue: > >$query = "SET @tables = NULL; > SET @schema = 'db_pippo'; > SET @pattern = '002_%'; > "; Ce l'hai il supporto per le query multiple? Che non è una grande idea IMHO, perché l'ottimizzazione è pochissima, e Bobby Tables è in agguato. Leonardo -- "You all presumably know why" :-) :-(
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web