2017-07-25 68 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