PHP中的mysqli_query问题 - 查询在phpmyadmin中运行,而不在PHP中运行

时间:2018-05-20 15:29:39

标签: php mysql

我正在尝试使用PHP运行插入查询。正如标题中所提到的,它在phpmyadmin中有效但在PHP代码中不起作用。

以下是代码:

if ($result) {

  session_start();
  $_SESSION['fname'] = $firstname;
  $firstname_sess = $_SESSION['fname'];
  $sql_uid = " SELECT id FROM users WHERE firstname = '" . $firstname_sess . "' ";
  var_dump($sql_uid);
  $sql_uid_result = mysqli_query($db, $sql_uid);
  $sql_uid_array = mysqli_fetch_array($sql_uid_result, MYSQLI_ASSOC);
  $sql_uid_final = $sql_uid_array['id'];
  var_dump($sql_uid_final);
  mysqli_query('SET foreign_key_checks = 0');
  $uo_uid = "INSERT INTO `user_order` (user_id) VALUES ('$sql_uid_final')";
  var_dump($uo_uid);
  $uo_uid_final = mysqli_query($db, $uo_uid);
  var_dump($uo_uid_final);
  if ($uo_uid_final) {

    echo "All good";
  } else {
    echo "Something went wrong 1";
  }
  //header('Location: productsform.php');

} else {
  echo "Somethingwentwrong2";
}

代码说明:

  1. 有两个表users和user_order
  2. 尝试从users表到user_order表获取现有用户的用户ID。
  3. user_order表将user_id作为用户表中的外键引用ID(PK)字段。
  4. 在user_order表中插入值时遇到问题。
  5. 虽然代码可以通过PHP myadmin或终端工作,但不能通过PHP代码工作。

    我已经浏览了下面给出的类似链接: 1. mysql DELETE works on phpmyadmin but not on php script 2. SQL query working in phpmyadmin but not in php 3. mysqli_query works in phpmyadmin but not in php 4. Query works in phpMyAdmin but not in php

    还有更多但却找不到任何东西。真的很感激任何帮助。

    提前谢谢。

1 个答案:

答案 0 :(得分:1)

我在代码中看到的一个问题就是这一行:

mysqli_query('SET foreign_key_checks = 0');

您没有提供$ db作为mysqli_query的第一个参数。

如果那不是问题,你能否为失败的查询提供mylsqli_error()?