2016-06-14 119 views
0

我只是一個初學者,學習如何編寫代碼。我正在關注一個cbt塊,我已經在一個操作上將插入的值發佈到表單上,並將其傳遞到操作頁面並插入到數據庫中。我得到這個消息時,我嘗試提交按鈕Post函數在php中不起作用

0Problems與查詢:

我的DB連接器

<?php 

$host = "localhost"; 
$user = "root"; 
$password = ""; 
$db = "linuxcbtcontacts"; 

# Step 1 instantiate DB object 
$conn = mysqli_connect($host,$user,"",$db) or die("Problems connecting:" .  mysql_error()); 
#if ($conn) { echo "True"; } 

#$dbselect = mysqli_select_db("linuxcbtcontacts", $conn) or die("Error selecting DB:" . mysql_error()); 

# Step 2 - select DB 
#$dbselect = mysqli_select_db($conn, "linuxcbtcontacts") or die("Error selecting DB:" . mysql_error()); 
$dbselect = mysqli_select_db($conn,$db) or die("Error selecting DB:" . mysql_error()); 

?> 

我的表單操作頁面

<?php 
require 'dbconnect.php'; 


$unique_check = "select name from contacts where name = 'name'"; 
$results_unique_check = mysqli_query($conn,$unique_check); 
$rowcount = mysqli_num_rows($results_unique_check); 
echo $rowcount; 

if ($rowcount > 0) { 
echo "Please use in different name", "<br>"; 
echo "<a href=query2.php>go back</a>"; 
exit(); } 
else { 
$query1 = "INSERT INTO contacts(name,email,age,yearborn,ratesite,industry,buyourproducts,software,hardware) VALUES('$_POST[name]','$_POST[email]','$_POST[age]','$_POST[yearborn]','$_POST[ratesite]','$_POST[industry]','$_POST[buyourproducts],'$_POST[software]','$_POST[hardware]')"; 

# Step 3 - invoke query 
$results = mysqli_query($conn,$query1) or die("Problems with query:" . mysql_error()); 

$rowcount = mysqli_affected_rows($conn); 
echo "Total Inserted Records:\t", $rowcount, "<br>"; 

} 


?> 
(打從表單提交後)

從cbt我應該得到這個消息提交按鈕被點擊後

0Total Inserted Records:1 

已經調整了所有準備什麼我在互聯網上看到了但我仍然結束了「與查詢0Problems:」消息

+4

不能混搭'mysql_ *'和'mysqli_ *功能。 –

+0

對所有POST值更改'VALUES('$ _ POST [name]',..'到'VALUES('「。$ _ POST ['name']。'',') –

+0

@NanaPartykar你試圖說的是什麼區別將使? –

回答

-2
$query1 = "INSERT INTO contacts(name,email,age,yearborn,ratesite,industry,buyourproducts,software,hardware) VALUES('".$_POST['name']."','".$_POST['email']."','".$_POST['age']."','".$_POST['yearborn']."','".$_POST['ratesite']."','".$_POST['industry']."','".$_POST['buyourproducts']."','".$_POST['software']."','".$_POST['hardware']."')"; 
+0

你說這會有什麼不同? –

+0

@JonStirling它單引號數組字段名稱(這是實際問題似乎是)。然而,這是一個可怕的可怕方法,因爲它對SQL注入開放。 – apokryfos

+1

@apokryfos是嗎? https://3v4l.org/ih4D9 –