2015-04-20 38 views
1

我只是試圖將會話中的變量插入MySQL數據庫,並導致它失敗。 var_dump在那裏顯示SESSIONS。那裏沒問題。爲什麼這不起作用?PHP會話與MySQL插入到使用bind_parm

$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(); 
+0

是用戶ID在你的表中的整數或VARCHAR? –

+3

在打開PHP標記 (例如'<?php error_reporting(E_ALL);)後立即將錯誤報告添加到文件頂部。 ini_set('display_errors',1);'然後你的代碼的其餘部分,看看它是否產生任何東西。然後用'if(!$ stmt-> execute()){trigger_error(「there was an error ....」。$ mysqli-> error,E_USER_WARNING)替換'$ stmt-> execute();'''這將幫助你。 –

+0

那麼,我們在哪裏呢?兩條評論,但你沒有。 –

回答

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);