2011-09-28 67 views
0

在PHP script.All我得到我有以下的是一個空白頁,沒有錯誤或沒有。簡單的PHP/MySQL的不工作

error_reporting(E_ALL); 
ini_set("display_errors", 1); 
$database = "mydatabase"; 
$con = mysql_connect("localhost", "admin", "password") or die(mysql_error()); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
$db = mysql_select_db($database); 
if(!$db){ 
    die('Could not connect: ' . mysql_error()); 
} 
if(isset($_POST['id'])){ 
$userid = mysql_real_escape_string($_POST['id']); 
echo($userid); 
} 
if(isset($_POST['name')){ 
$username = mysql_real_escape_string(htmlentities($_POST['name'])); 
echo($username); 
} 

$query = mysql_query("SELECT * FROM userinfo 
WHERE userid ='$userid'")or die(mysql_error()); 
if(mysql_num_rows($query) > 0){ 
    echo "yeah"; 
}else{ 
$query = mysql_query("INSERT INTO userinfo (username,userid) 
VALUES ($username,$userid)")or die(mysql_error()); 
if(mysql_affected_rows($query)== 1){ 
echo "UPDATED"; 

}else{ 
    echo "NOPE"; 
} 
} 
+1

查看你的服務器錯誤日誌,看看是否有東西出現在那裏。查看源代碼顯示的是什麼?然後註釋掉大部分腳本,運行它,看看會發生什麼,然後取消註釋一些代碼,然後取消更多代碼,並繼續這樣做,直到問題暴露出來。 – Marvo

+2

當你從命令行執行它時會發生什麼?你把標題發送給瀏覽器了嗎?檢查服務器(apache?)錯誤日誌:它說什麼? – Konerak

+0

你的php.ini中有display_errors嗎?如果你不這樣做,只需從服務器獲得一個500而不是錯誤。 – regality

回答

2

你應該格式化你的代碼更好。如果(isset($ _ POST ['Name')){

<?php 
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
$database = "mydatabase"; 
$con = mysql_connect("localhost", "admin", "password") or die(mysql_error()); 

if (!$con) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

$db = mysql_select_db($database); 
if(!$db) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

if(isset($_POST['id'])) 
{ 
    $userid = mysql_real_escape_string($_POST['id']); 
    echo($userid); 
} 

if(isset($_POST['name'])) 
{ 
    $username = mysql_real_escape_string(htmlentities($_POST['name'])); 
    echo($username); 
} 

$query = mysql_query("SELECT * FROM userinfo WHERE userid ='$userid'")or die(mysql_error()); 
if(mysql_num_rows($query) > 0) 
{ 
    echo "yeah"; 
} 
else 
{ 
    $query = mysql_query("INSERT INTO userinfo (username,userid) VALUES ($username,$userid)")or die(mysql_error()); 
    if(mysql_affected_rows($query)== 1) 
    { 
     echo "UPDATED"; 
    } 
    else 
    { 
     echo "NOPE"; 
    } 
} 
?> 
+0

這可能是它 –

+0

謝謝,現在我得到一個錯誤,mysql_affected_rows()函數是不是一個有效的資源鏈接。它確實插入它。 – james

+0

我認爲也可以通過這個邏輯來做到這一點,而不是迴應一件事。 ($ CON OK,$ DB OK,後期沒有設置好,查詢(用戶ID像 '')OK,結果集(> 0)確定,退出!) – horatio

2

你也有你的SQL的錯誤:

INSERT INTO userinfo (username,userid) 
VALUES ($username,$userid) 

的位置值應該被引用:

INSERT INTO userinfo (username,userid) 
VALUES ('$username', '$userid') 
+0

的用戶ID也根據樣本選擇 – Einacio

+0

感謝它幫 – james