2017-07-17 183 views
0

我得到了一個項目,並且碰到了沒有傳遞給數據庫的值。排除了只爲城市狀態國家保存的html結構。我的代碼顯示在這裏。請注意,我有單獨的國家/地區城市表。我正在使用WAMP服務器。php mysql表格沒有插入數據

============Database conn============= 
<?php 

$db= mysqli_connect('localhost', 'root','' , 'test'); 

if(!$db) { 
    echo mysqli_error($db); 
    return; 
} 

echo 'Connection OK'; 
?> 

=============Table - cust ================ 
`SNo`, `Customer Id`, `Card`, `First Name`, `Last Name`, `Gender`, `DOB`, `Age`, `Mobile`, `Address`, `Email Id`, `C Type`, `RefrenceId`, `Country`, `State`, `City`, `entry_date` 

========================== 
<?php 
     include_once('db.php'); 
     session_start(); 

if(isset($_POST['submit'])) { 
    $CustomerID = mysqli_real_escape_string($db ,$_POST['cid']); 
    $Card = mysqli_real_escape_string($db ,$_POST['ccode']); 
    " 
    " 
    " 
    " 
    $City = mysqli_real_escape_string($db ,$_POST['city']); 

    $sql = "INSERT INTO cust 
VALUES('','$CustomerID','$Card','$FirstName','$LastName','$Gender','$DOB','$Age','$Mobile','$Address','$EmailId','$Ctype','$RefrenceId','$Country','$State','$City','".date("Y-m-d")."')"; 

    $query = mysqli_query($db,$sql); 

    if(!$query) 
      echo mysqli_error(); 
    else  
     echo "<script> alert('Data inserted Successfully'); 
    </script>"; header('location:ow.php'); 
} 
?> 
=============================================== 
<?php 
include_once('db.php'); 
$DB_host = 'localhost'; 
$DB_user = 'root'; 
$DB_pass = ''; 
$DB_name = 'db'; 

try 
{ 
$DB_con = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass); 
$DB_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $e) 
{ 
$e->getMessage(); 
} 
?> 

<form action="new_1.php" method="post" name="a" onsubmit="return validateForm();"><table width="102%" border="0"> 
<thead> 
    <input type="text" name="cid" class="text-input" value="<?php echo $rw; ?>" AUTO_INCREMENT="on" readonly="true" /> 
    <input type="text" name="ccode" class="text-input" value="<?php echo $number; ?>" readonly="readonly"/> 
    <input type="text" name="fname" id="fname" class="text-input" onchange="toTitleCase(this)" /> 
    <input type="text" name="lname" id="lname" class="text-input" onchange="toTitleCase(this)" /> 
    <select name="gen" > 
     <option value="Male">Male</option> 
     <option value="Female">Female</option> 
     </select> 

    <input type="text" id="dob" name="dob" class="tcal tcalinput" onfocus="test();" onblur="setAge();" onkeyup="this.onblur();" onpaste="this.onblur();" oninput="this.onblur();" value="<?php echo date("Y-m-d"); ?>"/> 
     <input type="text" name="mob1" class="text-input" maxlength="10" /> 
     <textarea name="add" style="height:22" ></textarea> 
     <select id="ctype" name="ctype" style="width:36mm" > 
<option value="Select">Select</option> 
<option value="Student">Student</option> 
<option value="Employee">Employee</option> 
<option value="Doesn'tMatter">Doesn'tMatter</option> 
<option value="Accounting,Banking,Finance">Accounting,Banking,Finance</option> 
</select></td> 
     <input type="text" id="refno" name="refno" class="text-input"/> 
     <td>Country</td> 
     <td><span class="desc1"> 
<select name="country" class="country"> 
<option selected="selected">--Select Country--</option> 
<?php 
$stmt = $DB_con->prepare("SELECT * FROM country"); 
$stmt->execute(); 
while($row=$stmt->fetch(PDO::FETCH_ASSOC)) 
{ 
?> 
     <option value="<?php echo $row['country_id']; ?>"><?php echo $row['country_name']; ?></option> 
     <?php 
} 
?> 
</select></td> 
<td>State</td> 
     <td><span class="desc1"> 
<select name="state" class="state"> 
<option selected="selected">--Select State--</option> 
</select></td></tr> 
    <tr> 
     <td>City</td> 
     <td><span class="desc1"> 
<select name="city" class="city"> 
<option selected="selected">--Select City--</option> 
</select> </td>  </tr> 

    <input type="submit" id="submit" name="submit" value="Submit"></td> 

      </form> 
+0

請呼應查詢 – mayank

+0

@mayank遺憾沒得到你 – user3111955

+0

回聲** $ SQL **,並嘗試直接在mysql中運行。注意:在mysqli_error($ db)中傳遞連接變量(** $ db **); Ex, if(!$ query) echo mysqli_error($ db); – Naga

回答

0

echo $ sql並嘗試直接在mysql中運行。注意:在mysqli_error($ db)中傳遞連接變量($ db);例如,如果(!$ query)echo mysqli_error($ db);

AND,

'SNo'是自動增量列對嗎?如果這樣的話使用下面的類型插入語句

$sql = "INSERT INTO cust (`Customer Id`, `Card`, `First Name`, `Last Name`, `Gender`, `DOB`, `Age`, `Mobile`, `Address`, `Email Id`, `C Type`, `RefrenceId`, `Country`, `State`, `City`, `entry_date`) VALUES('$CustomerID','$Card','$FirstName','$LastName','$Gender','$DOB','$Age','$Mobile','$Address','$EmailId','$Ctype','$RefrenceId','$Country','$State','$City','".date("Y-m-d")."')";` 
0
$sql = "INSERT INTO cust VALUES('','$CustomerID','$Card','$FirstName','$LastName','$Gender','$DOB','$Age','$Mobile','$Address','$EmailId','$Ctype','$RefrenceId','$Country','$State','$City','".date("Y-m-d")."')"; 

在這一部分,你不應該添加報價爲所有PHP變量($國家,$地址等) 否則,你將通過文字 - 「$的東西」,而不是價值$東西

這裏是一個例子。

​​
+0

抱歉沒有工作 – user3111955