2014-05-19 61 views
0

嗯,我闯到大明白为什么我有这样的错误:

Parse error: syntax error, unexpected '$alert' (T_VARIABLE) in C:\wamp\www\envMailAuto\controler.php on line 19 

我CONTROLER:

include 'modele.php'; 

$email=$_REQUEST["email2"]; 
if(isset($_REQUEST["check"])) echo $email; 
else echo "omged"; 
$idarticle = 3555; 

$DB_host  = "localhost"; 
    $DB_select = "envmail"; 
    $DB_login = "root"; 
    $DB_pass  = ''; 

$connection=mysql_connect($DB_host,$DB_login,$DB_pass); 

$db=mysql_select_db($DB_select, $conn); 


alertarticleDAO $alert = new __alertarticle($connection); 

我的模型:

Class alertarticleDAO { 

var $connection; 

public function __alertarticle($mysqlconnection){ 
$this->connection = $mysqlconnection; 
} 

public function insert($Idarticle,$email){ 
$query=" INSERT INTO envmail (mail_env , id_article , actif) 
VALUES ($Idarticle , $email , 1)"; 

mysql_query($query,$this->connection); 

} 


} 
+0

旁注:'mysql_ *'函数正在被弃用,并将成为从未来版本的PHP中删除。如果您编写新代码,请改用'mysqli_ *'或PDO。他们还提供选项来保护你免受SQL注入的影响,这是'mysql_ *'函数缺乏的。寻找准备好的陈述。 –

回答

1

在PHP中你不需要在初始化对象指定类型。改变这一行:

alertarticleDAO $alert = new __alertarticle($connection); 

成这样:

$alert = new alertarticle($connection); 

和构造函数的定义也是错误的,改变这种:

public function __alertarticle($mysqlconnection){ 

成这样:

function __construct($mysqlconnection){ 
+0

嗯,一个大thx! 我的头是在java:p – Ramj

+0

乐意帮忙:) –

+0

随意标记为答案,如果这对你来说当然是足够的。 :) –

1

只要删除无效的关键字alertarticleDAO。在PHP中,你不会像这样“设置”变量的类型。

但是你的“构造函数”并不完全正确,要么将它命名为完全类名,要么将其命名为__construct()

所以,你的构造应该是这样的:

function __construct($mysqlconnection) { ... } 

实例化它:

$alert = new alertarticleDAO($connection); 
相关问题