note 101808 deleted from function.sqlite-field-name by cmb
| From: | cmb@php.net | Date: | Mon, 02 Nov 2020 15:00:36 +0000 |
| Subject: | note 101808 deleted from function.sqlite-field-name by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-215738@lists.php.net to get a copy of this message | ||
Note Submitter: Jan Holeek
----
This code works with SQlite version 3 databases.
<?php
function sqlite_field_names($dbfile, $tablename){
try
{
$db = new PDO("sqlite:".$dbfile);
$sql=$db->query("SELECT sql FROM sqlite_master WHERE
tbl_name='".$tablename."'");
foreach($sql as $row)
{
$fields = $row["sql"];
}
$db = NULL;
}
catch(PDOException $e)
{
print "Exception : ".$e->getMessage();
}
$cut=strtok($fields,"(");
while($fieldnames[]=strtok(",")) {};
array_pop($fieldnames);
foreach($fieldnames as $no => $field)
if (strpos($field, "PRIMARY KEY")){
strtok($field,"(");
$primary=strtok(")");
unset($fieldnames[$no]);
} else
$fieldnames[$no]=strtok($field, " ");
return $fieldnames;
}
print_r(array_values(sqlite_field_names($dbfile, $tablename)));
?>