php - 搜索特定的SQL表,然后在此结果中搜索行

标签 php mysql

我正在尝试填充三个PHP值,它将在数据库中搜索特定表(table_2)的特定表($cscomp),该表的名称与其中一列的值相同(我已经将其分配给php值table_1)来自同一数据库中单独的表(table_1)。

然后,我需要根据与列值中的日期匹配的当前日期,调用它在所选表中找到的特定行的所有信息。

在先前的sql搜索中,我已经有从$cscomp, $csship中的值填充的以下php字段,可以正常工作:

我正在尝试的PHP如下:

1  <?php
2  $a = "";
3  $b = "";
4  $c = "";
5  $sql = "SELECT table_name FROM information_schema.tables WHERE table_name='$cscomp'";
6  $ship_select = mysqli_query($db_conx, $sql);
7  $date_select = "SELECT * FROM $ship_select WHERE shipdate = CURRDATE() AND csship='$csship' LIMIT=1";
8  while ($row = mysqli_fetch_array($date_select, MYSQLI_ASSOC)) {
9   $a = $row["port"];
10  $b = $row["arrtime"];
11  $c = $row["deptime"];
12  }
13  ?>


我得到的错误是:


  可捕获的致命错误:无法创建类mysqli_result的对象
  转换为字符串。


这与上面的第7行有关。我认为它正在寻找正确的表开始,但随后没有得到我需要的行值。有什么建议么?

最佳答案

实际上,引发该错误是因为您没有像在第8行中那样在第6行中获取查询的值。无论如何,您只是尝试执行以下操作:

$date_select = "SELECT * 
    FROM $cscomp 
    WHERE shipdate = CURRDATE() 
    AND csship='$csship' 
    LIMIT=1";


我看不到第一个查询的含义。您正在要求mysql给您表名称,并要求根据表名称过滤数据库。

关于php - 搜索特定的SQL表,然后在此结果中搜索行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700748/

相关文章:

php - 当我从硬编码的下拉列表中选择值时,它不会选择值并且不会将其发送到数据库中

php - Laravel:获取模型类中的当前对象

mysql - 选择没有地址的客户

php - 我的 sql 查询没有在使用 session 的服务器上执行?

PHP 和 Mysqli OOP - 处理数据库

php - ci_phpunit_test : Help needed about test double with queries

php - PDO语法错误

mysql - 左连接与内连接

php - Laravel 5 - Paypal 支付 - 将数据表单传递给 Controller

mysql - SQL 创建一个带有增量计数器的一列表