2015-11-08 110 views
1

我有一个代码将一些值插入到数据库表中。它工作正常。我不会得到像数据库连接错误,重复条目的错误。这是我的代码。 无标题文档 如何在JavaScript警告框中显示sql错误消息?

<body> 
<?php 
require '../classes/dbconnect.php'; 

$PId=$_POST["PatientId"]; 
$pName=$_POST["NameOfPatient"]; 
$age=$_POST["AgeOfPatient"]; 
$lId=$_SESSION['username']; 
$fbs=$_POST["FBS"]; 
$sc=$_POST["Serum"]; 
$bu=$_POST["urea"]; 
$sgot=$_POST["sgot"]; 
$sgpt=$_POST["sgpt"]; 
$sa=$_POST["SAP"]; 
$sp=$_POST["protein"]; 
$sea=$_POST["albumin"]; 
$globulin=$_POST["globulin"]; 
$date=$_POST["date"]; 
$_SESSION['FBS'] = $fbs; 


$db = new Database("localhost", "root", "", "mlab"); 
$x = $db->insert("INSERT INTO blood_report VALUES 
('$PId','$lId','$date','$pName','$age','$fbs','$sc','$bu','$sgot','$sgpt','$s a','$sp','$sea','$globulin')"); 

if($x == 1){ 
    header("Location:../bloodreport.php"); 
}else{ 
    $str = "error :" . $db->err(); 
    ?> 
    <script> 
    var erro= '<?php echo "error :" . $db->err(); ?>'; 
    </script> 
    <?php 
    //echo $str; 
    echo '<script type="text/javascript">alert("Duplicate entry");history.go(-1);</script>'; 
} 
echo $x; 

?> 
+0

? –

+0

我用过它。但不能正常工作 –

+0

你能说明一下吗? –

回答

0

你可以用在尝试每个关键语句... catch块和记录错误。

try { 
$db = new Database("localhost", "root", "", "mlab"); 
} catch (Exception $e) { 
$errString = $e->getMessage(); 
} 

try { 
    $x = $db->insert("INSERT INTO blood_report VALUES 
('$PId','$lId','$date','$pName','$age','$fbs','$sc','$bu','$sgot','$sgpt','$s a','$sp','$sea','$globulin')"); 
} catch (Exception $e) { 
$errString = $e->getMessage(); 
} 

编辑 后来做:

<?php if (isset($errString) && $errString !== '') { ?> 
<script> 
var error = "<?php echo 'error : ' . $errString; ?>"; 
alert(error); 
</script> 
<?php } ?> 

也验证后插入http://php.net/manual/en/function.filter-input.php

1

前尝试你不使用$海峡这样

...... 
if($x == 1){ 
    header("Location:../bloodreport.php"); 
}else{ 
    $str = "error :" . $db->err(); 
    ?> 
<script> 
    var erro= <?php echo '"error : ' . $db->err() . '"'; ?>; 
</script> 
...... 
+0

我想将此错误提供给警报框。 –

+0

更好解释。我不明白。什么错误? – scaisEdge

+0

@IsuruSandamal确保$ db-> err()返回一个字符串 –