iT邦幫忙

0

PHP MYSQL傳入資料問題

小弟用XAMPP試著上傳資料到mysql資料庫。
我上傳時沒有跳error出來,但mysql沒有我上傳的資料
請問這是什麼問題??(感恩)

code

html

<form name="file" method="POST" action="PHP/make_case.php">
	<fieldset id="case1">
		<div class="fielsettitle"><legend>個資</legend></div>
		<p>
			<label>email<input  class="useremail" type="email" name="email" required></label>
			<label>姓名<input class="username" type="text" name="username"  required></label>
		</p>
	</fieldset>
	<fieldset id="case2">
		<div class="fielsettitle"><legend>case</legend></div>
		<p>
			<label>Case Title<input class="casetitle" type="text" name="casetitle" required></label>
			<label>Case 說明<input class="casemain" type="text" name="casemain" required></label>
		</p>
	</fieldset>
	<fieldset id="case3">
		<div class="fielsettitle"><legend>人</legend></div>
		<p>
			<label>需要哪種人<input class="people" type="text" name="people" required></label>
		</p>
	</fieldset>
	<center><input type='submit' value='提交'></center>
</form>			

PHP

(make_case.php)

<?php
    require_once("dbtools.inc.php");
    $email=$_POST["email"];
    $username=$_POST["username"];
    $case_title=$_POST["casetitle"];
    $case_discription=$_POST["casemain"];
    $peoples=$_POST["people"];
    
    $link=create_connection();
    $sql="INSERT INTO people_data(name,email,casetitle,casemain,people)VALUES($username,$email,$case_title,$case_discription,$peoples)";
    $result=execute_sql($link,"makecase",$sql);
    // mysql_close($link);
    // header("Location:/index.html")
?>

(dbtools.inc.php)

<?php
  function create_connection()
  {
    $link = mysqli_connect("localhost", "root", "123456")
      or die("無法建立資料連接: " . mysqli_connect_error());
	  
    mysqli_query($link, "SET NAMES utf8");
			   	
    return $link;
  }
	
  function execute_sql($link, $database, $sql)
  {
    mysqli_select_db($link, $database)
      or die("開啟資料庫失敗: " . mysqli_error($link));
						 
    $result = mysqli_query($link, $sql);
		
    return $result;
  }
?>

資料庫

https://ithelp.ithome.com.tw/upload/images/20210622/20136526N46ysc6bQ7.png

看更多先前的討論...收起先前的討論...
ping1000 iT邦新手 5 級 ‧ 2021-06-22 16:19:55 檢舉
用 id="email"
請問是指哪裡??
ping1000 iT邦新手 5 級 ‧ 2021-06-22 16:23:37 檢舉
name="email" 後面增加 id="email" 各自去對應吧
好的 謝謝我試試看
確定單引號少打了沒
ping1000 iT邦新手 5 級 ‧ 2021-06-22 16:46:42 檢舉
insert into 那邊也有問題~ 為何參數都沒用 單引號 例如 '$name'

2 個回答

2
rogeryao
iT邦大師 1 級 ‧ 2021-06-22 16:55:16
最佳解答
$sql="INSERT INTO people_data(name,email,casetitle,casemain,people) VALUES('".$username."','".$email."','".$case_title."','".$case_discription."','".$peoples."')";

(mack_case.php) => make_case.php

2
$sql="INSERT INTO people_data(name,email,casetitle,casemain,people)VALUES(
'{$username}',
'{$email}',
'{$case_title}',
'{$case_discription}',
'{$peoples}')";

改這樣試試

看更多先前的回應...收起先前的回應...

你好我改這樣還是不行,請問有沒有可能是因為我把make_case.php的
mysql_close($link)註解掉了?,因為我打上去它會跳error想說先註解掉因該不會有什麼影響,所以就註解掉了。

ping1000 iT邦新手 5 級 ‧ 2021-06-22 17:19:02 檢舉

mysqli_query($link,$sql);

小魚 iT邦大師 1 級 ‧ 2021-06-22 17:33:50 檢舉

所以他跳了甚麼error?

這個
Fatal error: Uncaught Error: Call to undefined function mysql_close() in H:\xampp\htdocs\PHP\make_case.php:12 Stack trace: #0 {main} thrown in H:\xampp\htdocs\PHP\make_case.php on line 12

mysql_close 跟 mysqli_close 要先了解一下

make_case.php
不要換頁
sql echo 出來 貼到 phpmyadmin 的 SQL 查詢欄
確認跟您期望的到底一不一樣

阿對 謝謝

我要發表回答

立即登入回答