PHP database syntax/construct: can we make it better?
| From: | Monte Ohrt | Date: | Tue, 11 Jul 2000 20:59:44 +0000 |
| Subject: | PHP database syntax/construct: can we make it better? | ||
| Groups: | php.dev php.general | ||
| Request: | Send a blank email to php-dev+get-24222@lists.php.net to get a copy of this message | ||
One thing about PHP that has always been kind of difficult is the way it
accesses databases. I'm not necessarily talking about abstraction, but
the way the syntax works which is mostly inherited from the PHP language
structure.
Here is an example of what I mean. I'll give one example of how PHP does
a database query, and then a comparison to the way another "html-ish"
scripting language accomplishes the same task.
Example: selecting and displaying rows from a database.
---PHP:---
<?
$link = mysql_connect("my_host","my_name","my_pass");
mysql_select_db("my_db",$link);
$result = mysql_query("select first,last,addr from my_table",$link);
while($row = mysql_fetch_row($result) {
printf("%s, %s, %s<br>\n",$row[0],$row[1],$row[2]);
}
echo "there were ".mysql_num_rows($result)." records found.<br>\n";
?>
---OTHER HTML-TYPE LANGUAGE:---
<HOST = "my_host">
<USER = "my_name">
<PASS = "my_pass">
<DB = "my_db">
<SQL "select first,last,addr from my_table">
$first, $last, $addr<br>
</SQL>
There were $loop records found.
Of course each syntax has it's pros and cons. PHP is much more
extensible, but the latter is quite easy to read and quick to implement
without the need to construct for() and while() loops. Is there any way
to make PHP a bit easier to work with, instead of constantly having to
create while loops, calling functions for simple things like number of
rows fetched, etc.? Any good way to implicitly automate this?
I have some ideas, but they require modifying the fundamental PHP
language construct.
I have attached those thoughts below. Any other ideas, or do we just
deal with what we have?
Monte