2014-10-03 55 views
-2

我正在使用函數在PHP中執行插入操作。這個錯誤似乎很微不足道,但我無法確定它的來源。數據庫插入操作中的錯誤Php

<?php 

class DB_Insert{ 

public function insertLec($lecId,$csId,$date,$time,$update,$export) 
{ 
    $con=mysql_connect("localhost","root",""); 
    mysql_select_db("attenmandb"); 
    $retval=mysql_query("INSERT INTO lecturetb(LecID, CSID, Date, Time, Updation, Export) VALUES($lecId,'$csId','$date','$time','$update','$export')",$con); 
    if(! $retval) 
    { 
     echo 'ERROR!'; 
    } 
    else 
    { 
     echo 'Success'; 
    } 
} 

$this->insertLec(1,'CST5','27-9-2014','11.30 to 12.30','No','No'); 
} 

?> 

錯誤看起來是這樣的:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in DB_Insert.php on line 20 
+0

**不再支持** mysql_ *'函數,它們是[**官方不推薦使用的**](https://wiki.php.net/rfc/mysql_deprecation),**不再維護**,將來會[**刪除**](http://php.net/manual/en/function.mysql-connect.php#warning)。您應該使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)更新您的代碼,以確保您的項目未來的功能。 – Kermit 2014-10-03 18:01:30

回答

4
$this->insertLec(1,'CST5','27-9-2014','11.30 to 12.30','No','No'); 

在你的類只是浮動。它需要在調用你的類的代碼中。

$insert = new DB_Insert(); 
$insert->insertLec(1,'CST5','27-9-2014','11.30 to 12.30','No','No'); 

Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。查看red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

你也來SQL injections

0

你有你的類定義的順序代碼敞開的,但不是一個函數中。您需要將該函數調用移出課程外部:

} // end of class definition 
    $dbInsert= new DB_Insert(); 
    $dbInsert->insertLec(1,'CST5','27-9-2014','11.30 to 12.30','No','No'); 

//編輯以確認以前的答案是正確的!是的,就像約翰說的那樣!