我想讓用戶上傳我的網站的個人資料圖像。文件上傳部分工作正常(雖然沒有阻止他們上傳非圖像文件)。然而,我不能得到它來更新mysql數據庫中的「配置文件」行。我認爲它與$ _SESSION ['user_id']有關,但我不確定。任何想法爲什麼它不會更新行?PHP更新行函數
<?php
if(isset($_POST['submit'])){
$temp = explode(".",$_FILES["file"]["name"]);
$newfilename = ('ProfileImage') . rand(1,99999) . '.' .end($temp);
move_uploaded_file($_FILES['file']['tmp_name'],"images/profile/" . $newfilename);
$con = mysqli_connect("localhost","root","","testsite");
$q = mysqli_query($con,"UPDATE user SET profile = '".$newfilename."' WHERE username = '".$_SESSION['user_id']."'");
}
?>
<form action="" method="post" enctype="multipart/form-data" name="">
<input type="file" name="file" required>
<input type="submit" name="submit" value="Update Image">
</form>
以防萬一,你需要看到這一點,這就是「的functions.php」頁面,$ _SESSION [「user_ID的」]定義:
<?php
@session_start();
function loggedin(){
if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])){
return true;
} else {
return false;
}
}
function getuser($id, $field){
$query = mysql_query("SELECT $field FROM user WHERE UserID='$id'");
$run = mysql_fetch_array($query);
return $run[$field];
}
?>
請[停止使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。瞭解[準備的陳述](http://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://jayblanchard.net/demystifying_php_pdo.html)。 –
@JayBlanchard是的,我知道我真的需要這樣做,但那是什麼導致我的問題? –
*沒關係。*您實際上是使用'mysqli_'和'mysql_'函數混合API的。這是行不通的。 –