2016-04-04 3 views
-1

У меня этот запрос в PHP.Присоединиться к SQL-запросу с двойными кавычками

Select count(*) as total from (select a.name,b.email from table1 a inner join table2 b on a.id = b.emailId) myTable 

Я хочу, чтобы записать его в кавычки, как

$sql = "select count(*) as total from (select a.name,b.email from table1 a inner join table2 b on a.id = b.emailId) myTable" 

Но я получаю сообщение об ошибке. Как обрабатывать одиночные и двойные кавычки при написании на PHP?

+0

какая ошибка вы получаете? Вы можете использовать одиночные и двойные кавычки, но в php вы должны иметь «;» в конце строки ..., вы должны использовать 'as' перед псевдонимами –

+0

@AdamSilenko # 1064 - У вас возникла ошибка в синтаксисе SQL – HarshMakadia

+0

Ваша ошибка является синтаксической ошибкой SQL, а не ошибкой, связанной с использованием кавычек. – apokryfos

ответ

1

Запрошенный вами запрос является синтаксически неправильным в MySQL. Он нужен псевдоним для подзапроса:

Select count(*) as total 
from (select a.name, b.email 
     from table1 a inner join 
      table2 b 
      on a.id = b.emailId 
    ) ab 
-------^ 

Однако подзапрос не нужен, так что я бы посоветовал:

 select count(*) 
     from table1 a inner join 
      table2 b 
      on a.id = b.emailId 
+0

На самом деле у него есть псевдоним подзапроса 'MyTable' – sagi

+0

@Gordon Linoff Я отредактировал, что я просто хочу знать, как обрабатывать одиночные и двойные кавычки, чтобы запрос выполнялся – HarshMakadia

-1

Ваш запрос в настоящее время неправильно. Но, для построения запроса в PHP вы можете использовать двойные кавычки, а затем использовать одиночные кавычки, чтобы использовать строки, как показано ниже:

Edit:

$my_name = 'HarshMakadia'; 
$sql = "SELECT id, name, description FROM your_table WHERE name ='".$my_name."'"; 
+0

Ошибка синтаксиса в '$ sql' :) – Neat

+0

ну, как насчет [маленьких таблиц bobby] (https://xkcd.com/327/)? – YvesLeBorg

+0

Да короткое будет 'WHERE name = '$ my_name'', и это не вопрос безопасности, SQL-инъекции, подготовленных операторов. Все, что он хотел знать, - это использовать одиночные и двойные кавычки. – st2erw2od

0

, если вы не знаете, как использовать кавычки, читайте около strings in php