我有兩個PHP文件,我已經建立了在線虛擬主機平臺,以便將數據庫集成到我的android應用程序。每當我運行URL:https://wounding-pat.000webhostapp.com/register.php爲了測試register.php代碼是否正確運行,我在瀏覽器上收到以下消息。運行在線虛擬主機php的錯誤
連接成功
說明:未定義指數:姓名/storage/ssd2/158/3185158/public_html/register.php第5行
說明:未定義指數:在電子郵件/存儲/ SSD2 /上線三百十八萬五千一百五十八分之一百五十八/的public_html/register.php 6
說明:未定義指數:密碼/storage/ssd2/158/3185158/public_html/register.php第7行
說明:未定義指數:受試者in/storage/ssd2/158/3185158/public_html/registe r.php第8行
說明:未定義指數:輔導員在/storage/ssd2/158/3185158/public_html/register.php第9行
說明:未定義變量:連接在/存儲/ SSD2 /上線三百十八萬五千一百五十八分之一百五十八/的public_html/register.php 13
警告:mysqli_query()預計參數1是mysqli的,在/storage/ssd2/158/3185158/public_html/register.php空給出在第13行
錯誤
以下是我的init.php c頌
<?php
$host = "localhost";
$database = "id3185158_csetestonlinedb";
$username = "id3185158_root";
$password = "admin";
//$con = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect($host, $username, $password, $database)) {
echo "Connection Successful";
} else {
echo "Connection Unsuccessful";
}
?>
以下是我的register.php代碼
<?php
require "init.php";
$name = $_POST["name"];
$email = $_POST["email"];
$password = $_POST["password"];
$subject = $_POST["subject"];
$counsellor = $_POST["counsellor"];
$sql_query = "insert into teachers values('$name', '$email', '$password', '$subject', '$counsellor');";
if (mysqli_query($connection, $sql_query)) {
echo " Data Inserted";
} else {
echo " Error";
}
?>
您應該在打開錯誤報告的本地開發環境中進行開發。 init.php不會創建你想在register.php中使用的$連接變量。你不能訪問註冊表。直接PHP沒有得到錯誤,因爲它預計發佈請求(表單數據)。你應該使用準備和參數化的查詢,atm你打開sql注入黑客。 – JimL
該代碼是_wide open_到SQL注入。你需要解決這個問題!在設置sql查詢時,閱讀使用「準備好的語句」與「參數綁定」相結合的好處。 – arkascha
關於手頭的問題:你確定你執行一個HTTP POST請求?如果是這樣,'$ _POST'的轉儲是作爲內容顯示的呢? – arkascha