Symfony1 条令/symfony:phpMyAdmin/SQL选项卡中的getSqlQuery()输出
我已创建了此查询,该查询工作正常:Symfony1 条令/symfony:phpMyAdmin/SQL选项卡中的getSqlQuery()输出,symfony1,doctrine,Symfony1,Doctrine,我已创建了此查询,该查询工作正常: $q1 = Doctrine_Query::create() ->from('Usuario u') ->leftJoin('u.AmigoUsuario a ON u.id = a.user2_id OR u.id = a.user1_id') ->where("a.user2_id = ? OR a.user1_id = ?", array($id,$id)) ->andW
$q1 = Doctrine_Query::create()
->from('Usuario u')
->leftJoin('u.AmigoUsuario a ON u.id = a.user2_id OR u.id = a.user1_id')
->where("a.user2_id = ? OR a.user1_id = ?", array($id,$id))
->andWhere("u.id <> ?", $id)
->andWhere("a.estado LIKE ?", 1);
echo $q1->getSqlQuery();
$q1=Doctrine\u Query::create()
->来自('Usuario u')
->leftJoin('u.AmigoUsuario a ON u.id=a.user2\u id或u.id=a.user1\u id')
->其中(“a.user2\u id=?或a.user1\u id=?”,数组($id,$id))
->andWhere(“u.id?”,$id)
->以及在哪里(“a.estado LIKE?”,1);
echo$q1->getSqlQuery();
对getSqlQuery的调用将输出以下子句:
选择s.id作为s\uu id,选择s.username作为
s__用户名,s算法为
s__算法,s.salt作为s__salt,
s、 密码为s__密码,s处于活动状态
由于s\u处于活动状态,s.s\u超级管理为
s__是超级管理员,s.last_登录为
s\u上次登录,s.email\u地址为
电子邮件地址,s.nombre\U apellidos
作为s__nombre_apellidos,s.sexo作为
s__sexo,s.fecha_nac作为s__fecha_nac,
s、 省作为s__省,
s、 作为s__localidad的localidad,
s、 fotografia作为s_uuFotografia,
s、 化身为s__化身,
s、 化身作为
s_u阿凡达u mensajes,s.在AS创建u
s__创建于,s更新于
s__将a.id更新为a.id,
a、 user1\u id作为一个user1\u id,一个user2\u id
作为__用户2_id,a.estado作为__estado
来自sf_guard_用户的左连接
amigo_usuario a ON((s.id=a.user2_id
或s.id=a.user1_id),其中
((a.user2\u id=?或a.user1\u id=?)
还有s.id?和a.estado喜欢吗?)
如果我将该子句带到phpMyAdminSQL选项卡,则会出现此错误
1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用接近“”的正确语法?或者a.user1_id=?)和s.id?和a.estado LIKE?)第1行的0,30'限制
为什么我会犯这个错误
问候
Javi输出在查询中包含占位符,而不是实际值。在phpMyAdmin中执行此操作时,需要用正确的值替换
?
在开发模式下使用Symfony,每个查询使用的值将显示在数据库查询面板中,该面板可从页面右上角的开发模式工具栏访问,并在查询本身后用括号括起来