【问题标题】:PHP Session with MySQL Insert Into using bind_parm使用 bind_parm 插入 MySQL 的 PHP 会话
【发布时间】:2015-04-20 20:18:26
【问题描述】:

我只是试图将会话中的变量插入 MySQL 数据库,这会导致它失败。 var_dump 显示所有会话。那里没问题。为什么这不起作用?

$job = $_SESSION['job'];

$user_id = '1';
$name = 'allie';

$stmt = $mysqli->prepare("INSERT INTO
                        requests(name,job_info,user_id) 
                        VALUES (?,?,?)");

$stmt->bind_param('sss', $name, $job, $user_id);
$stmt->execute();   

【问题讨论】:

  • 您的表中的用户 id 是整数还是 varchar?
  • 在打开 PHP 标记之后添加错误报告到文件顶部,例如 <?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,看看它是否产生任何结果。然后将$stmt->execute(); 替换为if(!$stmt->execute()){trigger_error("there was an error....".$mysqli->error, E_USER_WARNING);},这将对您有所帮助。
  • 那么,我们在哪里?两个 cmets,但你什么都没有。

标签: php mysql session-variables bindparam


【解决方案1】:

见 pdo bind_param

您的参数不正确: 改变这个:

$stmt->bind_param('sss', $name, $job, $user_id);

用这个:

$stmt->bind_param(1, $name, PDO::PARAM_STR);
$stmt->bind_param(2, $job, PDO::PARAM_STR);
$stmt->bind_param(3, intval($user_id), PDO::PARAM_INT);

【讨论】:

    猜你喜欢
    • 2015-10-11
    • 2011-06-13
    • 2019-03-25
    • 2021-09-12
    • 2014-03-18
    • 2017-05-19
    • 2011-01-26
    • 1970-01-01
    • 2018-05-25
    相关资源
    最近更新 更多