Как выбрать значения из двух таблиц в подготовленных MySQL выражениях - PullRequest
0 голосов
/ 19 февраля 2019

Для добавления базы данных я использую PhpMyAdmin на сервере Xampp.Я создал две таблицы, и каждая таблица содержит разные строки.Я пытаюсь выбрать значения из двух таблиц одновременно в php.Следующий код отлично работает

    $gi1=2;

    $stmt2=$this->con->prepare(" SELECT qwer  FROM table1  WHERE nmnm=?;");
    $stmt2->bind_param("i",$gi1);
    $stmt2->execute();
    $stmt2->bind_result($var1);
    $stmt2->fetch();

    $gi2=23;

    $stmt2=$this->con->prepare(" SELECT qwer2  FROM table2  WHERE nmnm2=?;");
    $stmt2->bind_param("i",$gi2);
    $stmt2->execute();
    $stmt2->bind_result($var2);
    $stmt2->fetch();

Но это занимает слишком много времени, поэтому я решил выбрать его в одном утверждении.

$gi2=23;$gi1=2;

    $stmt2=$this->con->prepare(" SELECT qwer2,qwer1  FROM table2,table1  WHERE nmnm2=? or nmnm=?;");
    $stmt2->bind_param("ii",$gi2,$gi1);
    $stmt2->execute();
    $stmt2->bind_result($var2,$var1);
    $stmt2->fetch();

И это показывает фатальную ошибку. Так как я могувыбрать значения из двух таблиц одним оператором?

1 Ответ

0 голосов
/ 19 февраля 2019

если в таблицах нет столбцов ссылок, вы можете попробовать использовать UNION

SELECT qwer  FROM table1  WHERE nmnm=?
union
(SELECT qwer2 as qwer  FROM table2  WHERE nmnm2=?)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...