2017-04-03 39 views
-1

嘿朋友我是一個android dev & java devloper和第一次試圖在php代碼 我知道這個問題是在這裏問很多次,但我沒有從這個答案得到什麼是什麼完全錯誤。php插入代碼與使用mysql不工作

我的問題是,當我在這兩個字段中輸入值時,它不會插入到我的sql數據庫中。並且還記錄未插入的消息。

我需要當我點擊提交按鈕在那個時候數據去db和記錄插入消息來。

我認爲錯誤是在這裏 $connection = mysql_connect("localhost","000webhost", "id717479_kunal", "");

$db = mysql_select_db("id717479_info", $connection); 

請告訴我什麼是這個代碼的任何幫助是值得歡迎的錯誤。

在這裏,我貼我的簡單的PHP插入代碼,請告訴我什麼是錯誤在此代碼

<!DOCTYPE html> 
<html> 
<head> 
<title>PHP insertion</title> 
<link href="css/insert.css" rel="stylesheet"> 
</head> 
<body> 
<div class="maindiv"> 
<!--HTML Form --> 
<div class="form_div"> 
<div class="title"> 
<h2>Insert Data In Database Using PHP.</h2> 
</div> 
<form action="insert.php" method="post"> 
<!-- Method can be set as POST for hiding values in URL--> 
<h2>Form</h2> 
<label>Enter Boy Name:</label> 
<input class="input" name="boy" type="text" value=""><br><br> 
<label>Enter Girl Name:</label> 
<input class="input" name="girl" type="text" value=""><br><br> 
<input class="submit" name="submit" type="submit" value="Insert"> 
</form> 
</div> 
</div> 
</body> 
</html> 

<?php 
$connection = mysql_connect("localhost","000webhost", "id717479_kunal", ""); // Establishing Connection with Server 
$db = mysql_select_db("id717479_info", $connection); // Selecting Database from Server 
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL 
$boy= $_POST['boy']; 
$girl = $_POST['girl']; 
if($boy!=''||$girl!=''){ 
//Insert Query of SQL 
$query = mysql_query("insert into love(boy, girl) values ('$boy', '$girl')"); 
echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
} 
else{ 
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
} 
} 
mysql_close($connection); // Closing Connection with Server 
?> 
+2

使用'mysqli_connect',而不是'mysql_connect' –

+1

@SahilGulati OP可能把它解釋爲「改變'mysql_connect'到'mysqli_connect'解決問題,而不會替換其他'mysql'的語法「 – Swellar

+0

您使用的是棄用的函數 – Akintunde007

回答

1

有兩件事情可能會在這裏:

1)如果你使用PHP 7,這些棄用的功能不僅僅是棄用的:它們只是不起作用。

2)SQL中確實有問題(表名錯誤;索引常量違例等)。要看到,如果MySQL服務器返回一個錯誤,你可以嘗試:

$query = mysql_query("insert into love(boy, girl) values ('$boy', '$girl')"); 
if($query){ 
    echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
} 
else{ 
    die(mysql_error()); 
} 
-1

連接到MySQL,使用mysqli(需要PHP 5.0+):

$mysqli = new mysqli(host, username, password, database); 

if ($mysqli->connect_error) { 
    exit("Unable to conect to database"); 
} 

要插入值到數據庫使用mysqli_query

$query = "INSERT INTO `love`(boy, girl) VALUES ('$boy', '$girl')"; 
if ($result = $mysqli->query($query)) { 
    echo '<span>Data Inserted successfully.</span>'; 
} else { 
    echo '<p>Insertion Failed. Some Fields are Blank.</p>'; 
} 

此外,我會建議你改變你的代碼段:

if(isset($_POST['submit'])) { 
    if (!empty($_POST['boy']) && !empty($_POST['girl'])) { 
     $boy = $_POST['boy']; 
     $girl = $_POST['girl']; 
     ... 
    } else { 
     exit("Fill the gaps!"); 
    } 
} 
+0

OP正在使用程序風格 –

+0

@MasivuyeCokile _What's_ wrong? – phen0men

+0

你正在使用面向對象 –

0

使用的mysqli的代替MySql的

$server = "localhost"; 
$loginname = "000webhost"; 
$password = "id717479_kunal"; 
$database = "id717479_info"; 

$connection = mysqli_connect($server, $loginname, $password, $database); 

$query = sprintf("INSERT INTO love(boy, girl) VALUES ('%s', '%s');", $boy, $girl); 

$check_query = mysqli_query($connection, $query); 
if($check_query) 
{ 
    echo "Inserted successfully!"; 
}