# In Which AHunter3, FileMaker geek, learns MySQL and PHP

**URL:** https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489
**Category:** Miscellaneous and Personal Stuff I Must Share
**Created:** [January 22, 2009, 6:15pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489 "2009-01-22T18:15:51Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 22, 2009, 6:15pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/1 "2009-01-22T18:15:51Z")

</div>

I’d like to thank the folks who responded to me in my [helpme thread](http://boards.straightdope.com/sdmb/showthread.php?t=502318). **ZipperJJ** suggested that I do a blog on the process, but I’m a ways off from being able to bang out a PHP+MySQL-powered website so for now this is my blog. I will probably ask some questions as well as report how I’m doing…

I’ve enrolled with NYU SCPS for two courses (general SQL for the first one, MySQL + PHP for the second one) that will take place this winter & spring. I’m working ahead in the mean time but it will do my soul some good to be in a classroom again, I think.

On my own, with the aid of the book that **Lobsang** recommended to me (Vaswani’s _How to do Everything with PHP & MySQL_), I’ve gotten this far:  
a) Created a four-table relational database in MySQL from the command line, based on a FileMaker 2.1 database that was my first professional-calibre FileMaker database. I printed out the field defs from FileMaker and created data fields of the same names (minus spaces and illicit characters) in MySQL.

b) Downloaded the drivers that let me reference the running MySQL db from FileMaker itself; converted the original FmPro 2.1 db to modern FmPro format (.fp7) and duplicated the main layout and switched the table reference to MySQL; created a temporary relationship between orig fmpro tables and corresponding MySQL tables and used FmPro scripts to move data into MySQL tables.

c) Now that I have data as well as structure in MySQL, practiced doing SELECT queries from the command line. select client.firstname, client.lastname, reoptxfr.casetype, reoptxfr.datefield, reoptxfr.closedon from client, reoptxfr where client.assignedworkerslastname = “hunter, allan” and client.statusofcase = “1 Active Case” and client.clientid = reoptxfr.clientid order by client.lastname, client.firstname, reoptxfr.sequencenumber;

Cool beans 😃  
Looks ugly as hell. I’ve got to get cracking on the PHP. Here’s where I’m at with the PHP:  
I’ve got it installed; I’ve created a form that lets me enter something and it returns the results in a specified filename.php file which contains the php code that in turn “does things” with what was sent to it. I’ve read ahead on the syntax of If / End If and declaring variables and it’s a lot like FileMaker (how nice!) and a bit like AppleScript (cool!) so I think I’ll be OK with that. But I don’t have PHP on speaking terms with the MySQL database yet. That’s today’s project: get PHP to tell MySQL to return it _something_ no matter how primitive.

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 22, 2009, 11:13pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/2 "2009-01-22T23:13:40Z")

</div>

My first PHP designed to chat up the SQL:

[noparse]  
\<html\>  
\<head\>\</head\>  
\<body\>

\<?php

$connection = mysql\_connect(‘localhost’, ‘root’, ‘’)  
or die (‘Unable to connect!’);

mysql\_select\_db (‘ebcoa’) or die (‘Unable to select database!’);

$query = “select client.firstname, client.lastname, reoptxfr.casetype, reoptxfr.datefield, reoptxfr.closedon from client, reoptxfr where client.assignedworkerslastname = “hunter, allan” and client.statusofcase = “1 Active Case” and client.clientid = reoptxfr.clientid order by client.lastname, client.firstname, reoptxfr.sequencenumber”;

$result = mysql\_query ($query)  
or die ('Error in query: $query. ’ . mysql\_error());  
if (mysql\_num\_rows ($result) \>0)

echo ‘\<table width=100% cellpadding=10 cellspacing=0 border=1\>’;  
echo  
‘\<tr\>\<td\>\<b\>FIRSTNAME\</b\>\</td\>\<td\>\<b\>LASTNAME\</b\>\</td\>\<td\>\<b\>CASETYPE\</b\>\</td\>\<td\>\<b\>OPENED\</b\>\</td\>\<td\>\<b\>CLOSED\</b\>\</td\>\</tr\>’;  
while ($row = mysql\_fetch\_row($result))  
{  
echo ‘\<tr\>’;  
echo ‘\<td\>’ . $row[0] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[1] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[2] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[3] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[4] . ‘\</td\>’;  
echo ‘\</tr\>’;  
}  
echo ‘\</table\>’;  
}  
else  
{  
echo ‘No rows found!’;  
}

mysql\_free\_result ($result);

mysql\_close($connection);  
?\>

\</body\>  
\</html\>  
[/noparse]  
The [not so successful results](http://home.earthlink.net/~ah3files/Stuff/FirstSQLPHP%20errors.jpg).

Hmmph. ::goes back to staring at code for typos & stuff::

---

<div class="post-metadata">

### Author: ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)
#### Post date: [January 22, 2009, 11:25pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/3 "2009-01-22T23:25:10Z")

</div>

Instead of doing this:

```auto

while ($row = mysql_fetch_row($result))
{
echo '<tr>';
echo '<td>' . $row[0] . '</td>';
echo '<td>' . $row[1] . '</td>';
echo '<td>' . $row[2] . '</td>';
echo '<td>' . $row[3] . '</td>';
echo '<td>' . $row[4] . '</td>';
echo '</tr>';
}

```

You can do this:

```auto

while ($row = mysql_fetch_row($result))
{
echo '<tr>';
    foreach ( $row as $field ) { 
        echo '<td>' . $field . '</td>';
    }
echo '</tr>';
}

```

---

<div class="post-metadata">

### Author: ![Will\_Repair](https://avatars.discourse-cdn.com/v4/letter/w/a698b9/32.png) [@Will\_Repair](https://boards.straightdope.com/u/Will_Repair)
#### Post date: [January 22, 2009, 11:36pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/4 "2009-01-22T23:36:15Z")

</div>

Doing the same thing here but attacking from a different angle. I started with just a simple database of four fields (key, fname, lname, note) and then started tackling PHP. Figure I can hone the database later. I’d rather concentrate on security than database structure.

---

<div class="post-metadata">

### Author: ![Alpine](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/alpine/32/17813_2.png) [@Alpine](https://boards.straightdope.com/u/Alpine)
#### Post date: [January 23, 2009, 1:00am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/5 "2009-01-23T01:00:49Z")

</div>

When I’ve got a little free time, I’m interested in this combo, too. We’ve got a couple of free apps running on our website that use them, but I haven’t really dived into the code yet.

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 23, 2009, 1:22am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/6 "2009-01-23T01:22:11Z")

</div>

> [@friedo](#):
>
> Instead of doing this:
> 
> ```auto
> 
> klunky code
> 
> ```
> 
> You can do this:
> 
> ```auto
> 
> less klunky code
> 
> ```

Nice! Doesn’t fix the problem though:

> [@results when I try it out](#):
>
> [http://home.earthlink.net/~ah3files/Stuff/FirstSQLPHP%20errors.jpg](http://home.earthlink.net/~ah3files/Stuff/FirstSQLPHP%20errors.jpg)

Well OK technically when I run it the way you typed it out (less klunky code version), the top line above the ‘table’ section looks like this:

1. echo ‘’; echo ‘’; while ($row = mysql\_fetch\_row($result)) { echo ‘’; foreach ( $row as $field ) { echo ‘’; } echo ‘’; } sw echo ’

But the underlying problem ain’t fixed at any rate.

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 23, 2009, 1:40am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/7 "2009-01-23T01:40:54Z")

</div>

Addendum: I found a missing **}** , located right after

if (mysql\_num\_rows ($result) \>0)

Oddly, adding it in, saving file, & reloading it in the browse didn’t make a bit of difference 😕

---

<div class="post-metadata">

### Author: ![ptr2void](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ptr2void/32/3406_2.png) [@ptr2void](https://boards.straightdope.com/u/ptr2void)
#### Post date: [January 23, 2009, 9:32pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/8 "2009-01-23T21:32:28Z")

</div>

You need to escape your quotes in your query:

```auto

$query = "select client.firstname, client.lastname, reoptxfr.casetype, reoptxfr.datefield, reoptxfr.closedon from client, reoptxfr where client.assignedworkerslastname = \"hunter, allan\" and client.statusofcase = \"1 Active Case\" and client.clientid = reoptxfr.clientid order by client.lastname, client.firstname, reoptxfr.sequencenumber";

```

---

<div class="post-metadata">

### Author: ![ZipperJJ](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/zipperjj/32/211_2.png) [@ZipperJJ](https://boards.straightdope.com/u/ZipperJJ)
#### Post date: [January 23, 2009, 11:47pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/9 "2009-01-23T23:47:03Z")

</div>

Are you using an editor of any sorts? Something like [UltraEdit](http://www.ultraedit.com/) will make stuff like missing curly braces and unescaped strings jump right out at you.

Don’t think you’re doing yourself any favors by hashing everything out in Notepad. You’re not 🙂

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 24, 2009, 1:31am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/10 "2009-01-24T01:31:58Z")

</div>

BBEdit, baby. and yes it highlights non-matching pairs.

**ptr2void** : bless you. That makes all kinds of sense and I never would have seen it.

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 24, 2009, 1:46am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/11 "2009-01-24T01:46:40Z")

</div>

Hmm, I have now escaped by search criteria as **ptr2void** noted that I should. I am entirely sure that doing so is necessary. It is not, unfortunately, sufficient. My results look pretty much the same. Something else is still fouling it up.

---

<div class="post-metadata">

### Author: ![ptr2void](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ptr2void/32/3406_2.png) [@ptr2void](https://boards.straightdope.com/u/ptr2void)
#### Post date: [January 24, 2009, 1:49am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/12 "2009-01-24T01:49:43Z")

</div>

Can you post up your current code? What are the errors you are getting presently?

---

<div class="post-metadata">

### Author: ![ZipperJJ](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/zipperjj/32/211_2.png) [@ZipperJJ](https://boards.straightdope.com/u/ZipperJJ)
#### Post date: [January 24, 2009, 3:47am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/13 "2009-01-24T03:47:57Z")

</div>

You’re not supposed to use " to denote string in SQL. It’s single quote.

SELECT \* FROM table WHERE field = ‘string’

You do not have to escape those when building your query as a string, either.

---

<div class="post-metadata">

### Author: ![minor7flat5](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/minor7flat5/32/258_2.png) [@minor7flat5](https://boards.straightdope.com/u/minor7flat5)
#### Post date: [January 24, 2009, 5:28am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/14 "2009-01-24T05:28:03Z")

</div>

Is your page actually being executed?

I recently had an issue while setting up a couple of Bugzilla instances on a Linux box where one worked, but the other would show source code instead of the rendered output.  
It was a simple case of forgetting to configure Apache to allow CGI scripts to run in the second directory tree.

I don’t know jack about PHP, but you might want to do a silly sanity check to make sure your code is actually being chewed on and processed, rather than being dumped directly to the screen (and the screenshot appears to be the browser interpreting the raw unexecuted code).

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 24, 2009, 6:06am UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/15 "2009-01-24T06:06:49Z")

</div>

> [@ptr2void](#):
>
> Can you post up your current code? What are the errors you are getting presently?

The code is upthread right on these very pages (post #2), with a few minor fixes that didn’t succeed in fixing anything. The errors I am currently getting are show in the screen shot also referenced at the end of post #2.

I have also tried a much simpler PHP code that for the select statement just does this:

$query = ‘select \* from client’;  
Same result.

> [@ZipperJJ](#):
>
> You’re not supposed to use " to denote string in SQL. It’s single quote.
> 
> SELECT \* FROM table WHERE field = ‘string’
> 
> You do not have to escape those when building your query as a string, either.

I’ve tried with " and with ’ and with escaping them and with not escaping them; and as I said above also with avoiding the whole issue by simply querying $query = ‘select \* from client’;.  
**minor7flat5** , can you say what you said as if you were speaking to a much more ignorant person? Specifically: how the heck would I be able to tell?

Hmm OK let me backtrack, this is probably relevant: Exercise One was this little html page:[noparse]

\<html\>  
\<head\>\</head\>  
\<body\>  
\<form action=“test.php” method=“post”\>  
Enter your message: \<input type=“text” name=“msg” size=“30”\>  
\<input type=“submit” value=“Send”\>  
\</form\>  
\</body\>  
\</html\>[/noparse]

The reply I got back on clicking the button was indeed test.php and test.php included code that said, in essence “you just posted this: \_\_\_\_” trapping for what had been send along to test.php.

So I assume that means Apache and PHP are on speaking terms with each other, is that what you were asking?

---

<div class="post-metadata">

### Author: ![ptr2void](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ptr2void/32/3406_2.png) [@ptr2void](https://boards.straightdope.com/u/ptr2void)
#### Post date: [January 24, 2009, 1:00pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/16 "2009-01-24T13:00:43Z")

</div>

OK, I believe I figured it out, thanks to **minor7flat5** , and understanding that your “errors” were exactly the same as before.

First, heed **ZipperJJ** ’s advice regarding single quotes in SQL queries. I should’ve pointed you in that direction. Alas, I’ve been away from MySQL for too long.

Second, the screenshot seems to indicate that the page to which you’re going has an html extension, which falls in line with **m[sup]7[/sup]♭[sup]5[/sup]**'s suggestion; that is, the PHP is not being parsed and interpreted, so it’s just being output to the screen as is. The key to this is the first line printed, which if you compare to the code you’ll notice follows the \> symbol in the

```auto

while (mysql_num_rows($result) > 0) {

```

line. This means that the browser is interpreting everything between the opening

```auto

<?php

```

and that \> symbol as an html tag, and sort of just ignoring it.

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 24, 2009, 5:52pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/17 "2009-01-24T17:52:24Z")

</div>

OK.

Changed file extensions on all variants of file to .php

Made REAL simple file with just the following code:[noparse]  
\<html\>  
\<head\>\</head\>  
\<body\>  
\<?php  
$connection = mysql\_connect(‘localhost’, ‘guest’, ‘pass’)  
echo ‘hello world’;  
mysql\_close($connection);  
?\>  
\</body\>  
\</html\>  
[/noparse]

Result: totally blank white page.

Comment out the $connection = mysql\_connect line and the mysql\_close($connection); line and try again and I get: “hello world”  
Does this indicate that PHP is simply not speaking to MySQL? The latter is definitely up & running. I have it open in a Terminal window where I can do queries & whatnot.

Oh!: other variants tried (the "guest’ / ‘pass’ is straight out of the book):

$connection = mysql\_connect(‘localhost’, ‘root’, ‘’) \<—— I never set a root pw but I know root is enabled; dunno if I have to DO SOMETHING to enable guest access?! So I thought I’d try this. No difference.

$connection = mysql\_connect(‘localhost’, ‘ahunter3’, ‘mypassword’) \<—— I granted all on \* to ahunter3 identified by mypassword. No difference here either.

---

<div class="post-metadata">

### Author: ![ptr2void](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ptr2void/32/3406_2.png) [@ptr2void](https://boards.straightdope.com/u/ptr2void)
#### Post date: [January 24, 2009, 9:19pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/18 "2009-01-24T21:19:30Z")

</div>

```auto

Made REAL simple file with just the following code:
<html>
<head></head>
<body>
<?php
// You were missing the semi-colon after this line:
$connection = mysql_connect('localhost', 'guest', 'pass'); // <-- here
echo 'hello world';
mysql_close($connection);
?>
</body>
</html>

```

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 24, 2009, 9:20pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/19 "2009-01-24T21:20:23Z")

</div>

> [@Vikram Vaswani](#):
>
> on page 27 in a little tip box labeled “Did you know?”:  
> The UNIX version of PHP 4.x included a set of MySQL client libraries…Because of licensing issues involved with bundling these libraries, and because these included libraries often conflicted with previously installed MySQL client libaries…the PHP Group decided not to bundle MySQL libraries with the UNIX version of PHP 5.x
> 
> The resumt of this apparently minor shift in policy has significant implications for you…If you’re using PHP 5.x in your UNIX-based development environment, it is now mandatory for you to first obtain the MySQL client libraries on your own…and then [point the PHP installer to these libraries to activate MySQL support in PHP. The procedure to accomplish this is explained in detail in this chapter

I would have to dissent most vociferously with that last statement. It’s not even made compellingly clear that this is true of Mac OS X. The whole books kind of treats OS X as an afterthought. At any rate there are no Step One, Step Two type instructions for total newbs like me on how to install these freaking missing MySQL libraries in an OS X environment.

I’m ordering more books.

---

<div class="post-metadata">

### Author: ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)
#### Post date: [January 24, 2009, 9:46pm UTC](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489/20 "2009-01-24T21:46:35Z")

</div>

This code works! [noparse]  
\<html\>  
\<head\>\</head\>  
\<body\>

\<?php

$connection = mysql\_connect(‘localhost’, ‘guest’, ‘pass’);  
mysql\_select\_db (‘ebcoa’);

$query = ‘select client.firstname, client.lastname, reoptxfr.casetype, reoptxfr.datefield, reoptxfr.closedon from client, reoptxfr WHERE client.clientid = reoptxfr.clientid order by client.lastname, client.firstname, reoptxfr.sequencenumber’;

$result = mysql\_query ($query);  
if (mysql\_num\_rows ($result) \>0)  
{  
echo ‘\<table width=100% cellpadding=10 cellspacing=0 border=1\>’;  
echo  
‘\<tr\>\<td\>\<b\>FIRSTNAME\</b\>\</td\>\<td\>\<b\>LASTNAME\</b\>\</td\>\<td\>\<b\>CASETYPE\</b\>\</td\>\<td\>\<b\>OPENED\</b\>\</td\>\<td\>\<b\>CLOSED\</b\>\</td\>\</tr\>’;  
while($row = mysql\_fetch\_row($result))  
{  
echo ‘\<tr\>’;  
echo ‘\<td\>’ . $row[0] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[1] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[2] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[3] . ‘\</td\>’;  
echo ‘\<td\>’ . $row[4] . ‘\</td\>’;  
echo ‘\</tr\>’;  
}  
echo ‘\</table\>’;  
}  
else  
{  
echo ‘No rows found!’;  
}

mysql\_free\_result ($result);  
echo ‘hello world’;  
mysql\_close($connection);  
?\>

\</body\>  
\</html\>  
[/noparse]  
OK I am still having problems when I try to specify that I only want records returned where client.assignedworkerslastname = “hunter, allan”. Have tried the “hunter, allan” part in double quotes not escaped, like that; have tried in single quotes not escaped; have tried in double quotes and escaped; in single quotes and escaped. Nada.

But it’s definitely a start! 🙂

[Next page](https://boards.straightdope.com/t/in-which-ahunter3-filemaker-geek-learns-mysql-and-php/482489.md?page=2)
