<div dir="ltr">Credo che qua<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="1">AND exists( SELECT `id` FROM `oc_bookmarks`</font></blockquote><div><br></div><div>voglia un alias dopo  <font size="1">`oc_bookmarks`.<br></font></div><div><font size="1"><br></font></div><div><font size="1">Tipo<br><br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="1">AND exists( SELECT `id` FROM `oc_bookmarks` as 'pippo'</font><br></blockquote><font size="1"><br></font></div><div><font size="1">quindi usare pippo anche nel resto della query.<br></font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 16 November 2016 at 17:32, Valerio Pachera <span dir="ltr"><<a href="mailto:sirio81@gmail.com" target="_blank">sirio81@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><font size="1">Hola, ho individuato un bug nella app bookmarks di nextcloud.<br></font></div><div><font size="1">Il bug non sembra essere troppo difficile da risolvere.<br></font></div><div><font size="1">Si dovrebbe trattare di un banale errore di sintassi di sql che uno più pratico di me dovrebbe individuare facilmente.<br></font></div><div><font size="1">La query incriminata è questa:<br></font></div><div><font size="1"><br>$query = $db->prepareQuery("<br>DELETE FROM `*PREFIX*bookmarks_tags` as `tgs` WHERE `tgs`.`tag` = ?<br>AND exists( SELECT `id` FROM `*PREFIX*bookmarks` WHERE `user_id` = ?<br>AND `tgs`.`bookmark_id` = `id`)<br>AND exists( SELECT `t`.`tag` FROM `*PREFIX*bookmarks_tags` `t` where `t`.`tag` = ?<br>AND `tgs`.`bookmark_id` = `t`.`bookmark_id`)");<br><br></font></div><div><font size="1">Sinceramente non capisco dove salta fuori `t` nel quarto AND.<br></font></div><div><font size="1"><br></font></div><font size="1">Tabella bookmarks<br><br><img alt="Immagine incorporata 1" src="cid:ii_1586c6c2b5238e13" width="444" height="26"><br><br></font></div><font size="1">Tabella bookmarks_tags<br><img src="cid:ii_1586c6d65441eec2" alt="Immagine incorporata 2" width="375" height="60"><br><br></font></div><font size="1">L'errore che restiruisce nextcloud è<br><br><br>{"reqId":"Q3\/GEufci9bSqiuZc\/<wbr>qc","remoteAddr":"192.168.2.<wbr>27","app":"index","message":"<wbr>Exception: <br>    {\"Exception\":\"Doctrine\\\\<wbr>DBAL\\\\Exception\\\\<wbr>SyntaxErrorException\",\"<wbr>Message\":\"An exception occurred while executing <br><br>'\\n\\t\\t\\tDELETE FROM `oc_bookmarks_tags` as `tgs` WHERE `tgs`.`tag` = ?\\n\\t\\t\\t<br>AND exists( SELECT `id` FROM `oc_bookmarks`<br>WHERE `user_id` = ?\\n\\t\\t\\tAND `tgs`.`bookmark_id` = `id`)\\n\\t\\t\\t<br>AND exists<br>    ( SELECT `t`.`tag` <br>    FROM `oc_bookmarks_tags` `t` where `t`.`tag` = ?\\n\\t\\t\\t<br>    AND `tgs`.`bookmark_id` = `t`.`bookmark_id`)' <br>    with params [\\\"test1\\\", \\\"admin\\\", \\\"test1\\\"]:\\n\\n<br><br>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 <br><br>'as `tgs` WHERE `tgs`.`tag` = 'test1'\\n\\t\\t\\tAND exists( SELECT `id` FROM `oc_bookmar'<br></font></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Flavio Toffalini<br></div></div>
</div>