0

好的,所以我试图让 ajax 发布到我的 php 文件,查找一个 mysql 字段,如果它存在 echo 'clientsuccess' 否则 echo 'Client already exists' 但是在成功函数上它返回两个值,尽管它们在一个 php if 语句。我很可能遗漏了一些非常简单的东西,但非常感谢任何帮助。

PHP:

    <?php 
session_start();
$clientArray = $_POST['clientArray'];

$clientArray = explode(',', $clientArray);
$count = 0;


foreach($clientArray as $clientField) 
{

trim($clientField);
if(empty($clientField)) {
$clientField = '-'; 
}

}




$con = mysql_connect("localhost",$_SESSION['MysqlUser'],$_SESSION['MysqlPass']);
if (!$con)
{
die('Could not connect with '.$_SESSION['MysqlUser'].mysql_error());
}

mysql_select_db("smeinsti_SPW_Inventory", $con);

$checkclient = mysql_query("SELECT ClientName FROM Clients WHERE ClientName = '".$clientArray[0]."'", $con);

if(mysql_num_rows($checkclient)==0)
{

$sql="INSERT INTO Clients (`ClientName`, `PhoneNumber`, `Email`, `Address`, `OrderDate`)
VALUES
('$clientArray[0]', '$clientArray[1]', '$clientArray[2]', '$clientArray[3]', CURDATE())";


$clientArray[0] = $_SESSION['ClientName'];
echo "clientsuccess";



} else {
echo 'Client already exists';   
}


?>

JS:

    function NextPage()
{
var ClientData = [];

$('form#order-form.create input[type=text]').each(function() {

ClientData += $(this).val() + ',';

})

alert(ClientData);

var parameters = {
clientArray: ClientData
};

$.ajax({
type: "POST",
async:false,
url: "write_client.php",
data: parameters,
success: function(result){       
var res=result;
if(res = 'clientsuccess') {
window.location = 'admin.php?id=7';
} else {
alert('Client already exists');
}
}
}); 







}
4

2 回答 2

1

您的条件等号不正确!把'=='

    if(res == 'clientsuccess') { //Double Equal to
    window.location = 'admin.php?id=7';
    } else {
    alert('Client already exists');
    }
于 2013-04-12T07:15:16.487 回答
0

mysql_num_rows返回选定行的数量,而不是某一行的字段。用于mysql_fetch_row获取您在查询中选择的行:

您还可以使用 mysql_result 获取一行并获取某个字段:

$client 存在 = mysql_result($checkclient, 0, 0); 这将获取第一行(基于零)并返回第一个字段(基于零)。

于 2013-04-12T07:16:10.707 回答