2013-11-28 45 views
1

我寫了一個PHP腳本來插入數據到MySQL中,對於客戶端我使用Android,通過使用第一個按鈕我上傳圖像並通過使用第二個按鈕我將圖像信息存儲到同一個表中(信息如: - PersonName)我有大約10個字段。使用PHP更新數據到MySQL

,但我不是在同一行讓我的數據,請參見下面的屏幕截圖: -

enter image description here

我想將數據存儲在同一行,我需要使用更新查詢,但職業我是一個Android開發者,所以不強的PHP,但我猜這是任何PHP開發一個小問題,請參閱下面我的PHP腳本:

<?php 
//*** Insert Record ***// 
$objConnect = mysql_connect("localhost","root",""); 
$objDB = mysql_select_db("myDatabase"); 


/*** Check Username Exists ***/ 
$strSQL = "SELECT * FROM image_information WHERE ImageName = '".$_FILES["filUpload"]["name"]."' "; 
$objQuery = mysql_query($strSQL); 
$objResult = mysql_fetch_array($objQuery); 
if($objResult) 
{ 
$arr['StatusID'] = "0"; 
$arr['Message'] = "File Name Exists"; 
echo json_encode($arr); 
exit(); 
} 

$strPersonName = $_POST["sPersonName"]; 

$strSQL = "INSERT INTO image_information"; 
$strSQL .="(ImageName, PersonName) VALUES ('".$_FILES["filUpload"]["name"]."','".$strPersonName."')"; 
$objQuery = mysql_query($strSQL); 
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))  
if(!$objQuery) 
{ 
$arr['StatusID'] = "0"; 
$arr['Message'] = "Cannot upload Image(s)"; 
} 
else 
{ 
$arr['StatusID'] = "1"; 
$arr['Message'] = "Image(s) uploaded Successfully!"; 
} 
mysql_close($objConnect); 
echo json_encode($arr); 
?> 
+0

OMG。一些huuuge安全漏洞,不談論'mysql_ *'函數。你知道[bobby tables](http://bobby-tables.com/)? –

+0

請記住'mysql'已被棄用,請參閱http://us3.php.net/manual/en/function.mysql-query.php上的紅色框。改爲使用'mysqli'或'pdo'。 –

+0

也許文件名實際上是'IMG_20131128_005442.jpg',''),(''?;)如果你知道我的意思 –

回答

-1

希望這將幫助ü

$strSQL = "INSERT INTO image_information (ImageName, PersonName) VALUES ('".$_FILES["filUpload"]["name"]."','".$strPersonName."')"; 

$objQuery = mysql_query($strSQL); 
+0

閱讀我的問題,看我的代碼並放置您的答案,再次 – Sun

0

表名

$strSQL = "INSERT INTO image_information "; 
$strSQL .="(ImageName, PersonName) VALUES ('".$_FILES["filUpload"["name"]."','".$strPersonName."')"; 

後添加一個空格,並確保您的FilesID領域具有自動遞增模式上,否則你應該增加它的每一次主鍵。

還要檢查您的查詢的硬編碼版本在嘗試修復代碼之前是否正常工作。測試這一項:

$strSQL = "INSERT INTO image_information (ImageName, PersonName) VALUES ('A','B')"; 
0

試試這個...

<?php 
//*** Insert Record ***// 
$objConnect = mysql_connect("localhost","root",""); 
$objDB = mysql_select_db("myDatabase"); 


/*** Check Username Exists ***/ 
$strSQL = "SELECT * FROM image_information WHERE ImageName = '".$_FILES["filUpload"]["name"]."' "; 
$objQuery = mysql_query($strSQL); 
$objResult = mysql_fetch_array($objQuery); 
if($objResult) 
{ 
$arr['StatusID'] = "0"; 
$arr['Message'] = "File Name Exists"; 
echo json_encode($arr); 
exit(); 
} 

$strPersonName = $_POST["sPersonName"]; 
$strSQL = ""; 
$strSQL = "INSERT INTO image_information (ImageName, PersonName) VALUES ('".$_FILES["filUpload"]["name"]."','".$strPersonName."')"; 

$objQuery = mysql_query($strSQL); 
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"])) 
if(!$objQuery) 
{ 
$arr['StatusID'] = "0"; 
$arr['Message'] = "Cannot upload Image(s)"; 
} 
else 
{ 
$arr['StatusID'] = "1"; 
$arr['Message'] = "Image(s) uploaded Successfully!"; 
} 
mysql_close($objConnect); 
echo json_encode($arr); 
?> 
+0

我想我必須把更新查詢PHP腳本,你的解決方案像我一樣爲我工作,只是插入數據,但仍然在不同的行。 – Sun

1

Abrahim,

據我理解您的問題,我發現以下。

你第一次上傳圖片和你上面說的代碼與查詢被執行:

"INSERT INTO image_information (ImageName, PersonName) VALUES ('filename.jpg','')" as currently the name is not entered. 

你輸入某人的姓名和執行這次查詢第二次是:

"INSERT INTO image_information (ImageName, PersonName) VALUES ('','person_name')" as image is not present now. 

現在爲了避免這種情況,你可以做以下事情

change you code as follows : 

/*** Check Username Exists ***/ 
$strSQL = "SELECT * FROM image_information WHERE ImageName = '".$_FILES["filUpload"]["name"]."' "; 
$objQuery = mysql_query($strSQL); 
$objResult = mysql_fetch_array($objQuery); 
$strPersonName = $_POST["sPersonName"]; 
if($objResult) 
{ 
    if($strPersonName!='') { 
     $strSQL = ""; 
     $strSQL = "UPDATE image_information set PersonName = '$strPersonName' where FilesId = ".$objResult->FilesId; 
     $objQuery = mysql_query($strSQL); 
     if(!$objQuery) { 
      $arr['StatusID'] = "0"; 
      $arr['Message'] = "Cannot update person name"; 
     } else { 
      $arr['StatusID'] = "1"; 
      $arr['Message'] = "Updated person name successfully."; 
     } 
    } else { 
     $arr['StatusID'] = "0"; 
     $arr['Message'] = "File Name Exists"; 
     echo json_encode($arr); 
    } 
} else { 

    $strSQL = ""; 
    $strSQL = "INSERT INTO image_information (ImageName, PersonName) VALUES ('".$_FILES["filUpload"]["name"]."','".$strPersonName."')"; 

    $objQuery = mysql_query($strSQL); 
    if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"])) 
    if(!$objQuery) 
    { 
    $arr['StatusID'] = "0"; 
    $arr['Message'] = "Cannot upload Image(s)"; 
    } 
    else 
    { 
    $arr['StatusID'] = "1"; 
    $arr['Message'] = "Image(s) uploaded Successfully!"; 
    } 

} 
mysql_close($objConnect); 
echo json_encode($arr); 
?> 

我沒有檢查過你可能需要調整它的一部分。

希望這可以幫助你。 OMG。

+0

'$ arr ['Message'] =「無法更新人名;'檢查這行應該是'$ arr ['Message'] =」無法更新人名「;' –

+0

感謝您注意PJ​​,這是一個錯字。 。我已經表示,這不是檢查。 –

+0

所以我檢查了它:D –