为了账号安全,请及时绑定邮箱和手机立即绑定

PHP PDO MySQL:Insert语句运行无错误,不发生插入

PHP PDO MySQL:Insert语句运行无错误,不发生插入

PHP
犯罪嫌疑人X 2021-05-11 09:18:05
我的代码:<?phptry {$t = '040485c4-2eba-11e9-8e3c-0231844357e8';if (array_key_exists('t', $_REQUEST)) {  $t = $_REQUEST["t"];}if (!isset($_COOKIE['writer'])) {  header("Location: xxx");  return 0;}$writer = $_COOKIE['writer'];$dbhost = $_SERVER['RDS_HOSTNAME'];$dbport = $_SERVER['RDS_PORT'];$dbname = $_SERVER['RDS_DB_NAME'];$charset = 'utf8' ;$dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}";$username = $_SERVER['RDS_USERNAME'];$password = $_SERVER['RDS_PASSWORD'];$pdo = new PDO($dsn, $username, $password);$stmt = $pdo->prepare("select writer from mydbtbl where writer=? and t=?");$stmt->execute(array($writer, $t));$num = $stmt->fetch(PDO::FETCH_NUM);if ($num < 1) {  header("Location: login.php");  return 0;}$dbMsg = "Authorized";$dbname = 'imgs';$dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}";$pdo = new PDO($dsn, $username, $password);if (isset($_FILES['filename'])) {  $name = $_FILES['filename']['name'];  // set path of uploaded file  $path = "./".basename($_FILES['filename']['name']);   // move file to current directory  move_uploaded_file($_FILES['filename']['tmp_name'], $path);  // get file contents  $data = file_get_contents($path, NULL, NULL, 0, 60000);      $stmt = $pdo->prepare("INSERT INTO file (contents, filename, t) values (?,?,?)");  $stmt->execute(array    ($data,     $name,     $t)  );  $dbMsg = "Added the file to the repository"; // delete the file unlink($path);}} catch (Exception $e) {  $dbMsg = "exception: " . $e->getMessage();}在代码中,您将看到第一部分是用于进行身份验证的。然后,在img模式上创建一个新的PDO对象,然后在该文件中执行查询。稍后,在我打印$ dbMsg的地方,它说的是“已将文件添加到存储库”。但是,当我查询数据库(使用MySQL Workbench的Amazon AWS上的MySQL)时,没有插入任何内容。我不明白为什么如果什么也没插入,却没有收到错误消息。如果显示“已将文件添加到存储库”,这是否表示插入成功?我唯一能想到的是为此使用不同的架构来处理问题。我对ebdb的所有插入操作都正常
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 292 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信