2016-04-20 109 views
-1

我試圖用php更新我的數據,但它不工作,有什麼想法? 這是代碼,這不是完整的代碼(它沒有完成),但即使用戶名不能更新。更新數據PHP pdo

<?php 
session_start(); 
include "dbconfig.php"; 
require "check.php"; 

if(!empty($_POST['user_name']) || !empty($_POST['user_email'])){ 

      $user_name = trim($_POST['user_name']); 
      $user_email = trim($_POST['user_email']); 

$count=$db_con->prepare("SELECT * FROM users WHERE user_id=:userid"); 
$count->bindParam(":userid",$_SESSION['user_session'],PDO::PARAM_STR,15); 
$count->execute(); 
$row = $count->fetch(PDO::FETCH_OBJ); 

$sql=$db_con->prepare("update users set user_name=:username where user_id='$row->user_id'"); 
$sql->bindParam(':username',$user_name,PDO::PARAM_STR, 32); 

if($sql->execute()){ 
echo "Successfully updated Profile"; 
} 
else{ 
print_r($sql->errorInfo()); 

} 
    else { 

    echo "No data inserted!" 
    } 


    include "home.php"; 
    ?> 
+0

你得到一個錯誤?你有沒有檢查你的日誌? – acupajoe

+0

不,我沒有得到任何錯誤 –

+0

所以你沒有達到你的'print_r'語句並拋出一個錯誤..你的腳本是否返回任何信息?通常你的apache日誌會顯示一些東西。 – acupajoe

回答

0

我想一個語法錯誤在這行

$sql=$db_con->prepare("update users set user_name=:username where user_id='$row->user_id'"); 

更正

$sql=$db_con->prepare("update users set user_name=:username where user_id="$row->user_id); 
+0

也許更正的查詢也會綁定'user_id =:user_id',而不是從對象傳遞值。 –