2017-07-25 67 views
-1

我有下面的代碼運行時我在HTML表單努力使代碼,將插入阿拉伯語數據導入mysql

<!DOCTYPE html> 
<html> 
<head> 
<?php $timestamp = date("YmdHis"); ?> 
<link rel="stylesheet" type="text/css" href="style.css"?v=<?php echo time(); ?>"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Data Entry</title> 
</head> 
<body> 
<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 

// Create connection 
$conn = new mysqli($servername, $username, $password); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$sql->set_charset('utf8'); 
// Create database 
$sql = "CREATE DATABASE IF NOT EXISTS mortgagedb"; 
if ($conn->query($sql) === TRUE) { 
    echo "Database created successfully"; 
} else { 
    echo "Error creating database: " . $conn->error; 
} 


$sql = "CREATE TABLE IF NOT EXISTS mortgagedb . clientstest (
reg_date TIMESTAMP, 
client_code INT(6) UNSIGNED PRIMARY KEY, 
project_code INT(6) UNSIGNED NOT NULL, 
client_name VARCHAR(255) NOT NULL, 
client_id INT(14) NOT NULL, 
client_id_expiry VARCHAR(7) NOT NULL, 
client_address VARCHAR(255) NOT NULL, 
client_profession VARCHAR(255) NOT NULL, 
client_phone INT(12) NOT NULL, 
income INT(6) NOT NULL, 
guarantor_name VARCHAR(255) NOT NULL, 
guarantor_id VARCHAR(14) NOT NULL, 
guarantor_id_expiry VARCHAR(7) NOT NULL, 
guarantor_address VARCHAR(255) NOT NULL, 
guarantor_relation VARCHAR(255) NOT NULL, 
unit_no VARCHAR(255) NOT NULL, 
floor_no VARCHAR(255) NOT NULL, 
bulding_no VARCHAR(255) NOT NULL, 
location VARCHAR(255) NOT NULL, 
project VARCHAR(255) NOT NULL, 
city VARCHAR(255) NOT NULL, 
governorate VARCHAR(255) NOT NULL, 
area VARCHAR(255) NOT NULL, 
unit_value INT(7) NOT NULL, 
previous_payment INT(7) NOT NULL, 
loan_maturity INT(2) NOT NULL, 
mortgage_rate INT(2) NOT NULL, 
annual_rate_wage INT(2) NOT NULL, 
max_pay_inc INT(2) NOT NULL, 
prog_max_inc INT(7) NOT NULL, 
prog_min_inc INT(7) NOT NULL, 
prog_max_sub INT(7) NOT NULL, 
prog_min_sub INT(7) NOT NULL, 
payment_graduation INT(2) NOT NULL, 
iscore VARCHAR(255) NOT NULL, 
documents VARCHAR(255) NOT NULL, 
condition1 VARCHAR(255) NOT NULL, 
condition2 VARCHAR(255) NOT NULL, 
condition3 VARCHAR(255) NOT NULL, 
condition4 VARCHAR(255) NOT NULL, 
condition5 VARCHAR(255) NOT NULL, 
condition6 VARCHAR(255) NOT NULL, 
condition7 VARCHAR(255) NOT NULL, 
condition8 VARCHAR(255) NOT NULL, 
condition9 VARCHAR(255) NOT NULL, 
condition10 VARCHAR(255) NOT NULL, 
condition11 VARCHAR(255) NOT NULL, 
condition12 VARCHAR(255) NOT NULL, 
condition13 VARCHAR(255) NOT NULL, 
condition14 VARCHAR(255) NOT NULL, 
attachment1 VARCHAR(255) NOT NULL, 
attachment2 VARCHAR(255) NOT NULL, 
attachment3 VARCHAR(255) NOT NULL, 
attachment4 VARCHAR(255) NOT NULL, 
attachment5 VARCHAR(255) NOT NULL, 
attachment6 VARCHAR(255) NOT NULL 
)"; 
if ($conn->query($sql) === TRUE) { 
    echo "Table clientstest created successfully"; 
} else { 
    echo "Error creating table: " . $conn->error; 
} 
$sql = "INSERT INTO mortgagedb . clientstest (client_code, project_code, client_name, client_id, client_id_expiry, client_address, client_profession, client_phone, income, guarantor_name, guarantor_id, guarantor_id_expiry, guarantor_address, guarantor_relation, unit_no, floor_no, bulding_no, location, project, city, governorate, area, unit_value, previous_payment, loan_maturity, mortgage_rate, annual_rate_wage, max_pay_inc, prog_max_inc, prog_min_inc, prog_max_sub, prog_min_sub, payment_graduation, iscore, documents, condition1, condition2, condition3, condition4, condition5, condition6, condition7, condition8, condition9, condition10, condition11, condition12, condition13, condition14, attachment1, attachment2, attachment3, attachment4, attachment5, attachment6) 
VALUES ('$_POST[ccode]', '$_POST[pcode]', '$_POST[cname]', '$_POST[cid]', '$_POST[ciddate]', '$_POST[caddress]', '$_POST[cjob]', '$_POST[cphone]', '$_POST[inc]', '$_POST[gname]', '$_POST[gid]', '$_POST[giddate]', '$_POST[gaddress]', '$_POST[grel]', '$_POST[un]', '$_POST[floor]', '$_POST[bn]', '$_POST[lctn]', '$_POST[pro]', '$_POST[city]', '$_POST[gov]', '$_POST[area]', '$_POST[unitv]', '$_POST[pp]', '$_POST[lm]', '$_POST[mr]', '$_POST[row]', '$_POST[paytoinc]', '$_POST[maxinc]', '$_POST[mininc]', '$_POST[maxsub]', '$_POST[minsub]', '$_POST[pgr]', '$_POST[iscore]', '$_POST[docs]', '$_POST[con1]', '$_POST[con2]', '$_POST[con3]', '$_POST[con4]', '$_POST[con5]', '$_POST[con6]', '$_POST[con7]', '$_POST[con8]', '$_POST[con9]', '$_POST[con10]', '$_POST[con11]', '$_POST[con12]', '$_POST[con13]', '$_POST[con14]', '$_POST[att1]', '$_POST[att2]', '$_POST[att3]', '$_POST[att4]', '$_POST[att5]', '$_POST[att6]')"; 
if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 
$conn->close(); 
?> 
</body> 
</html> 

按下一個按鈕,但我得到以下錯誤

Fatal error: Uncaught Error: Call to a member function set_charset() on null in C:\xampp\htdocs\Mortgage Project\db.php:21 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Mortgage Project\db.php on line 21

我知道錯誤是關於set_char,但我是新的,並不真正瞭解這裏的問題,在此先感謝。

+0

你真的想每次創建新表你運行你的腳本? ô.o順便說一句。你錯過了'new mysqli'中的'db_name'作爲參考:http://php.net/manual/de/mysqli.construct.php – Twinfriends

+0

** $ sql ** - > set_charset < - 在這裏看到一個問題? –

+0

@Twinfriends我希望數據庫只在不存在的情況下才能創建,因爲這個項目將被放入一個我根本無法控制的服務器中 –

回答

1

你的錯誤來自該行:

$sql->set_charset('utf8'); 

基本上它是正確的,但是你有沒有定義$sql的。您需要在連接對象上使用set_charset

因此,而不是你的代碼,寫:

$conn->set_charset('utf8'); 
0

您有$sql->set_charset('utf8');。然而。 $sql只在下一行定義!

嘗試將其更改爲$conn