Appreciate if you could help me to write below mysql code to PDO statement.
$sql = "SELECT * FROM node WHERE node_name='$nodename'";
$result = mysql_query($sql);
when I read on PDO::query Manual i found this code
<?php
$connection = new pdo("sqlite:file.sq3");
$query="SELECT * FROM table";
$result = $connection->query($query);
$row = $result->fetch(PDO::FETCH_ASSOC);
print_r($row);
?>
what is the function for "sqlite:file.sq3" and "(PDO::FETCH_ASSOC)"
That line points to your sql file, there is no function for it. It opens a PDO connection and you can query further.
$connection = new pdo("sqlite:/path/to/sql/file.sq3");
PDO::FETCH_ASSOC
tells the function fetch()
to pull associative array from table.
you connect to the database like this :
try {
$db = new PDO("sqlite:file.sq3");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Error : <br>' . $e->getMessage();
}
PS: You dont need the try and the catch, but we used to get the error and handle it in a nice way as we want to
and next we query like this :
$db->query(SELECT * FROM node WHERE node_name='$nodename'");
and we fetch it like this :
$query = $db->query(SELECT * FROM node WHERE node_name='$nodename'");
$row = $query->fetch(PDO::FETCH_OBJ);
and now you use $row->name
for example
here is more about PDO::FETCH
PDO::FETCH_ASSOC : returns an array indexed by column name as returned in your result set
PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set
PDO::FETCH_BOUND : returns TRUE and assigns the values of the columns in your result set to the PHP variables to which they were
bound with the PDOStatement::bindColumn() methodPDO::FETCH_CLASS : returns a new instance of the requested class, mapping the columns of the result set to named properties in the
class. If fetch_style includes PDO::FETCH_CLASSTYPE (eg
PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class
is determined from a value of the first column.PDO::FETCH_INTO : updates an existing instance of the requested class, mapping the columns of the result set to named properties in
the classPDO::FETCH_LAZY : combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed
PDO::FETCH_NUM : returns an array indexed by column number as returned in your result set, starting at column 0
PDO::FETCH_OBJ : returns an anonymous object with property names that correspond to the column names returned in your result set
If you were using MySQL before, I don't think the sqlite DSN is correct for you. SQLite is a different brand of RDBMS, and it's not compatible with MySQL.
To use PDO to connect to MySQL, see this manual page: http://www.php.net/manual/en/ref.pdo-mysql.connection.php
Example:
<?php
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$dbh = new PDO($dsn, $username, $password);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.