【问题标题】:SQLi Code not inserting into Correct Row with Using User IDSQLi 代码未使用用户 ID 插入正确的行
【发布时间】:2014-02-06 19:59:39
【问题描述】:

我一直在尝试修复此代码,但无论我用它做什么,它都无法正常工作。它应该插入到数据库中你找到了一个秘密游戏进入使用存储在会话中的用户 ID 登录用户的行有办法修复这个代码,因为我很难过。

<?php
$con=mysqli_connect("localhost","username","password","database");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 mysqli_query($con,"INSERT INTO login (code, link)
VALUES ('You Found a Secret Game!', '/12283719823838hdhj/') WHERE id = " . 
$_SESSION['user']['id'], ENT_QUOTES, 'UTF-8');
mysqli_close($con);
?>

【问题讨论】:

  • Yakshemash。任何错误信息?您期望什么以及实际会发生什么?
  • @BoratSagdiyev 嗨,它不会返回任何错误消息。它应该插入到数据库中您发现了一个秘密游戏第二次他们在会话中使用他们的用户 ID 在数据库中的行中单击页面,但它没有向数据库中插入任何内容

标签: php mysql sql sqlite


【解决方案1】:

试试这个

mysqli_query($con,"INSERT INTO login (code, link)
                   VALUES ('You Found a Secret Game!', '/12283719823838hdhj/') 
                 WHERE id ='".$_SESSION['user']['id']."' ",ENT_QUOTES, 'UTF-8' );

【讨论】:

  • 好的,然后使用你的变量,因为我只是怀疑你的变量是否正确。看看编辑
【解决方案2】:

您不能将任何 WHERE 与 INSERT INTO 一起使用。

试试这个:

[编辑] 好的,那就试试这个。

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
   echo "MySQL Error: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
unset($query);
$query  = "UPDATE login SET code = 'You Found a Secret Game!', link = '/12283719823838hdhj/' ";
$query .= "WHERE id = '".$_SESSION['user']['id']."'";
var_dump($query);
if (!$mysqli->query($query) {
    echo "Mysql Error: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

【讨论】:

  • 好的,我都试过了,但是第一个不会插入,因为它没有值,第二个不会插入正确的行
  • 它不回馈任何东西
猜你喜欢
  • 2020-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多