OO PHP MySQL connection -
i'm new php language and, in fact, started studying week.
while trying connect files sql database, following error message:
parse error: syntax error, unexpected t_variable, expecting t_function in /home/cpapalardo/wwwroot/calendario/calendar.php on line 56
line 56 be:
$result = mysql_query("select event_id, event_title event");
i don't know did wrong. me one, please?
thanks in advance.
here code:
<?php include("db_connect.php"); class calendar1 extends db_connect{ private $data; private $month; private $year; private $daysmonth; private $startday; public function __construct($dbo=null, $data=null){ parent::__construct(); if(isset($data)){ $this->data = $data; }else{ $this->data = date('y-m-d h:i:s'); } //convert timestamp , determines month , year of calendar $ts = strtotime($this->data); $this->month= date("m", $ts); $this->year= date('y', $ts); //how many days month has $this->daysmonth= date('t', strtotime($year.'-'.($month-1).'-01')); //what day of week month starts in $ts = mktime(0, 0, 0, $this->month, 1, $this->year); $this->startday= date('w', $ts); } private function loadeventdata($id=null){ $sql = "select 'event_id', 'event_title', 'event_desc', 'event_start', 'event_end' 'events'"; if(!empty($id)){ $sql .="where 'event_id'=:id limit 1";//returns 1 result }else{ $start_ts = mktime(0, 0, 0, $this->month, 1, $this->year); $end_ts = mktime(23, 59, 59, $this->month+ 1, 0, $this->year); $start_date = date('y-m-d h:i:s', $start_ts); $end_date = date('y-m-d h:i:s', $end_ts); $sql = "where 'event_start' between '$start_date' , '$end_date' order 'event_start'"; } } } //execute sql query , return records $result = mysql_query("select event_id, event_title event"); //fetch tha data database while ($row = mysql_fetch_array($result)) { echo "id:".$row['event_id']." name:".$row['event_title']; } ?> <?php class db_connect{ protected $cn; public function __construct(){ $cn = mysql_connect("testdatabase", "admin", "pass123"); mysql_select_db("admin", $cn); } } ?>
edit
you using single quotes columns , table. either delete them or use backticks.
$sql = "select 'event_id', 'event_title', 'event_desc', 'event_start', 'event_end' 'events'";
should be:
$sql = "select event_id, event_title, event_desc, event_start, event_end events";
this line $sql .="where 'event_id'=:id limit 1";//returns 1 result
using :id
that's binding method not implemented in code.
you may have change $sql .="where event_id=$id limit 1";//returns 1 result
without quotes around event_id
since it's column.
new rewrite:
<?php include("db_connect.php"); class calendar1 extends db_connect{ private $data; private $month; private $year; private $daysmonth; private $startday; public function __construct($dbo=null, $data=null){ parent::__construct(); if(isset($data)){ $this->data = $data; }else{ $this->data = date('y-m-d h:i:s'); } //convert timestamp , determines month , year of calendar $ts = strtotime($this->data); $this->month= date("m", $ts); $this->year= date('y', $ts); //how many days month has $this->daysmonth= date('t', strtotime($year.'-'.($month-1).'-01')); //what day of week month starts in $ts = mktime(0, 0, 0, $this->month, 1, $this->year); $this->startday= date('w', $ts); } private function loadeventdata($id=null){ $sql = "select event_id, event_title, event_desc, event_start, event_end events"; if(!empty($id)){ $sql .="where event_id=$id limit 1";//returns 1 result }else{ $start_ts = mktime(0, 0, 0, $this->month, 1, $this->year); $end_ts = mktime(23, 59, 59, $this->month+ 1, 0, $this->year); $start_date = date('y-m-d h:i:s', $start_ts); $end_date = date('y-m-d h:i:s', $end_ts); $sql = "where 'event_start' between '$start_date' , '$end_date' order event_start"; } } } //execute sql query , return records $result = mysql_query("select event_id, event_title events"); //fetch tha data database while ($row = mysql_fetch_array($result)) { echo "id:".$row['event_id']." name:".$row['event_title']; } ?> <?php class db_connect{ protected $cn; public function __construct(){ $cn = mysql_connect("testdatabase", "admin", "pass123"); mysql_select_db("admin", $cn); } } ?>
original answer
the braces in first body of code don't seem match up, not in ide anyway.
try deleting last brace after last while
loop, moving above
//execute sql query , return records
i have modified below try.
now, line:
/*$evento = mysql_query("select * event");
is hard if want commented out or not , cause error.
if so, either delete /*
or modify /*$evento = mysql_query("select * event"); */
i used/incorporated mesutozer's
answer concerning line (credit to)
echo "id:".$row{'event_id'}." name:".$row{'event_title'};
to changed to:
echo "id:".$row['event_id']." name:".$row['event_title'];
this line order 'event_start'
should not wrapped in single quotes.
use
order event_start
or
order `event_start`
rewrite:
<?php include("db_connect.php"); class calendar extends db_connect{ private $data; private $month; private $year; private $daysmonth; private $startday; public function __construct($dbo=null, $data=null){ parent::__construct(); if(isset($data)){ $this->data = $data; }else{ $this->data = date('y-m-d h:i:s'); } //convert timestamp , determines month , year of calendar $ts = strtotime($this->data); $this->month= date("m", $ts); $this->year= date('y', $ts); //how many days month has $this->daysmonth= date('t', strtotime($year.'-'.($month-1).'-01')); //what day of week month starts in $ts = mktime(0, 0, 0, $this->month, 1, $this->year); $this->startday= date('w', $ts); } private function loadeventdata($id=null){ $sql = "select 'event_id', 'event_title', 'event_desc', 'event_start', 'event_end' 'events'"; if(!empty($id)){ $sql .="where 'event_id'=:id limit 1";//returns 1 result }else{ $start_ts = mktime(0, 0, 0, $this->month, 1, $this->year); $end_ts = mktime(23, 59, 59, $this->month+ 1, 0, $this->year); $start_date = date('y-m-d h:i:s', $start_ts); $end_date = date('y-m-d h:i:s', $end_ts); $sql = "where 'event_start' between '$start_date' , '$end_date' order `event_start`"; } } } //execute sql query , return records $result = mysql_query("select event_id, event_title event"); //fetch tha data database while ($row = mysql_fetch_array($result)) { echo "id:".$row['event_id']." name:".$row['event_title']; } $evento = mysql_query("select * event"); while ($row = mysql_fetch_array ($evento)){ echo $row['event_id'] . "<br>" . $row['event_title'] . "<br>"; } ?>
Comments
Post a Comment