Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Web programming with PHP and MySQL : a practical guide
Bramer M., Springer International Publishing, New York, NY, 2015. 388 pp. Type: Book (978-3-319226-58-3)
Date Reviewed: Jun 21 2016

Web programming with PHP and MySQL fulfills the promise of its subtitle: a practical guide. The writing is friendly and clear, with the author indicating when every alternative to a command is not given and making suggestions on when it is necessary to consult with an Internet service provider (ISP). Each chapter starts with a highlighted section on “chapter aims” and ends with a chapter summary and practical exercise(s). Solutions to many of the exercises are given in an appendix. The book assumes familiarity with Hypertext Markup Language (HTML). It does not make any use of HTML5 features, for example, the input types, such as email. It may be good practice to not depend on such features at this time; however, this will change.

The book does have problems. The author refers to MySQL as a programming language. That is, he does not point out that SQL is the language for queries and MySQL is a database management system (DBMS), which, along with others, accepts SQL queries. This may not be significant for readers when working through the examples, but it is not standard usage of the terms. A related matter is that little time is spent reinforcing the concept that HTML is interpreted by (on) the client computer, PHP by the server computer, and SQL by the DBMS, which may be on the same server or another server. The phrase “destination page” is used for the PHP documents referenced in the form element of HTML forms, but this may not be enough. The notion of the three-tier architecture (presentation, business, data access or information) may be old-fashioned, but it would serve readers.

The chapters proceed with building up scripts for the Erewhon Society’s web page. A good feature starts in chapter 1, “Introduction”: it uses thick borderlines in figures depicting the display of web pages and regular borders for examples of code. Chapter 2, “PHP Fundamentals,” explains the structure of a PHP script, variables, functions, and other basics. Chapter 3, “The PHP Language: Types of Statement,” explains certain PHP keywords; assignment statements with attention to built-in arithmetic, string, and logical operations; and if, switch, and looping constructs. Attention to arrays starts in this chapter and then continues in chapter 4, “More About Arrays,” which also includes associative and 2D arrays. This demonstrates how the author divided the material into manageable amounts. Chapter 5, “Some Important Functions,” covers what the name implies, with chapter 6, “Formatted Print Functions,” focusing on printing, picking up from the print statement introduced earlier (chapter 3). Note that printing by PHP is adding to an HTML document to be returned to the web browser.

Chapter 7, “Using Files,” could have been positioned later and even after the material on databases. However, the content is fine. Similarly, the author does well with chapter 8, “User-Defined Functions.” The author points out in a footnote that these are programmer-defined functions, and the user (or, more exactly, the end user) is the person looking at the web page in a browser. My inclination would be to title the chapter “Programmer-Defined Functions” and to move it to earlier in the text.

Chapters 9 and 10 cover passing variables to a PHP script, including the use of HTML forms, and chapter 11, “PHP in Action: Managing a Members’ Area,” deals with passwords, log files, and also the include command. Chapters 12 through 14 focus on what he terms the MySQL language. It would have been nice to do more on joins, though the appendices do cover uses of WHERE in queries.

Chapter 15, “Using a PHP Script to Manage a MySQL Database,” is good, though there are mistakes in extracting information from the associative arrays constructed from the values returned from the database: the field names must be referenced as strings. Chapter 16, “PHP in Action: Converting Data Between Text Files and Database Tables,” does a good job at its stated goal and also presents more PHP coding. Section 17.2, “Building a Visual Table Editor,” continues with demonstrations of more techniques. It would be useful to reflect on the effects of the GET versus POST methods, as well as query strings present in hyperlinks. Chapter 18, “PHP in Action: Maintaining a Membership List,” explains the basic implementation of a registration system, including the generation of passwords and sending email from a PHP script. The examples do not demonstrate the common practice of asking people to enter a password twice. More importantly, standard practice is to use one-way encryption client side so as to not transmit plaintext passwords. The appendices cover a multitude of topics and together with the index serve the reader well.

In spite of the issues raised, the book is a useful reference and serves as an introduction to using PHP and MySQL for building applications for the web.

Reviewer:  Jeanine Meyer Review #: CR144518 (1609-0625)
Bookmark and Share
  Featured Reviewer  
 
General (D.1.0 )
 
 
SQL (H.2.3 ... )
 
 
World Wide Web (WWW) (H.3.4 ... )
 
 
Languages (H.2.3 )
 
 
Systems And Software (H.3.4 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy