gpt4 book ai didi

php - 使用 PDO 左连接

转载 作者:行者123 更新时间:2023-11-29 08:00:27 24 4
gpt4 key购买 nike

我正在使用以下 PDO 查询:

  <?php
$cadena = $_SESSION[Region];

// We Will prepare SQL Query


$STM = $dbh->prepare("SELECT `id_mesero`, `nombre_mesero`,`alias_mesero`, `rest_mesero` FROM tbmeseros WHERE cadena_mesero='$cadena'");
// For Executing prepared statement we will use below function
$STM->execute();
// we will fetch records like this and use foreach loop to show multiple Results
$STMrecords = $STM->fetchAll();
foreach($STMrecords as $row)
{

“rest_mesero”字段的值是表“tbrestaurantes”的索引。

我需要将“tbrestaurantes”中的一些字段值连接到 PDO 查询,但我不知道如何使用 PDO 来执行此操作。

欢迎任何帮助。

更新的问题文本

这是我对查询的建议:

$dbh->prepare("SELECT * FROM tbmeseros LEFT JOIN tbrestaurantes ON tbmeseros.rest_mesero = tbrestaurantes.id_restaurante WHERE tbmeseros.cad_mesero = ?");

但是显示错误:

警告:PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 无效参数号:第 80 行/.../AdminMeseros.php 中没有绑定(bind)参数

第 80 行是

$STM->execute();

这是我更新的查询:

              <?php
$cadena = $_SESSION[Region];



$STM =$dbh->prepare("SELECT * FROM tbmeseros LEFT JOIN tbrestaurantes ON tbmeseros.rest_mesero = tbrestaurantes.id_restaurante WHERE tbmeseros.cad_mesero = ?");
$STM->bindParam(1, $cadena);
// For Executing prepared statement we will use below function
$STM->execute(array($cadena));
// we will fetch records like this and use foreach loop to show multiple Results
$STMrecords = $STM->fetchAll();
foreach($STMrecords as $row)
{

这里是表格的屏幕截图:

对于tbmeseros:

enter image description here

对于餐厅: enter image description here enter image description here

$cadena 的值为“HQ3”。

最佳答案

当您在 SQL 中添加参数时,您需要提供该参数的值。有两种方法可以做到这一点:

1) 调用bindParam():

$STM->bindParam(1, $cadana);

2) 调用execute()时提供值:

$STM->execute(array($cadana));

关于php - 使用 PDO 左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com