O'Reilly logo

Managing & Using MySQL, 2nd Edition by Hugh E. Williams, Randy Yarger, George Reese, Tim King

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Writing Data with PHP

In this chapter, we've covered the basic techniques for connecting to and reading data from a MySQL DBMS using PHP. In this section, we extend this to writing data.

Example 11-4 shows the action.php script that adds and removes gifts from a guest's shopping list. The script uses the MySQL library functions we discussed earlier. If the user-supplied $action variable has the value insert, an attempt is made to reserve the gift with the value in $present_id for the current guest. If $action is set to delete, an attempt is made to remove the gift from the guest's shopping list. As discussed in the previous section, the guest's people_id is maintained in the $user session variable.

The script first checks the status of the gift with the identifier $present_id. If the gift is already reserved, the current guest can't reserve it; this can happen if another guest is using the application and beats the current guest to it. Likewise, the script checks that the gift is reserved by the current guest before actually unreserving it; this check should never fail, unless the same user is logged in twice. Defensive programming, or thinking through all the possibilities that can occur, is wise when developing for the Web, since each script is independent, and there are no time limits or controls in our application on when a user can request a script.

Example 11-4. The action.php script reserves gifts or removes them from a shopping list

<?php // Add or remove a gift from ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required