Still using the old MySQL driver? What you need to know about MySQLi…

Its time to upgrade from the PHP MySQL extension

The PHP MySQL extension was deprecated in PHP 5.5.0!

You should upgrade your code to use MySQLi at least, even better would be upgrading to PDO.

This post about selecting data uses PDO and has the full source code available for you.

But back to MySQLi

The “i” in mysqli stands for IMPROVED, its not only new it’s improved too.

If you are still using the plain old mysql driver you should check to see if you can use mysqli.

All you need is PHP 5.4 or greater and add that “i”!

Once you get to PHP 5.5 or above mysql will no longer be supported.

Your queries will run faster, be more efficient and you can make use of more great features like prepared statements and it’s object oriented interface.

If you are using a PHP framework like CodeIgniter, switching should be a breeze, you just need to add the “i”.

For example you might have this in your code:

<?php
$db['default']['dbdriver'] = 'mysqli';
?>

If you aren’t using a framework, please consider upgrading your code, depending on your hosting company they might upgrade their PHP version without warning!

It has happened before!

Then you will need to be fixing and upgrading your code under pressure while your website is down!

Google Charts review

If you are looking to add charts to your PHP pages and haven’t already checked out Google Charts, I recommend you do, I’ve used them in a number of projects to great effect.

Features & Benefits:

  • They are free
  • HTML5 / SVG  based for cross-browser compatibility
  • Well documented
  • Lots of examples in the Chart Gallery, with new types of charts appearing regularly
  • Lots of different configuration options to customize them as much as you should need

Pro tip on PHP usage:

Below is some example PHP code I used to create the chart on this page: http://trabest.com/social-tracking-automotive-brands.  To view the chart just click on the “Graph” to show it.

<script type=”text/javascript” src=”https://www.google.com/jsapi”></script>
<script type=”text/javascript”>
google.load(“visualization”, “1”, {packages:[“corechart”]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
[‘Channel’, ‘Facebook’, ‘Twitter’, ‘Youtube’, { role: ‘annotation’ } ],
<?php echo $chart_output;?>
]);

var options = {
width: 950,
height: 950,
legend: { position: ‘right’, maxLines: 3 },
colors:[‘#3b5998′,’#4099FF’, ‘#c4302b’],
annotations: {},
vAxis: {format: ‘decimal’},
hAxis: {format: ‘decimal’, slantedText: ‘true’},
isStacked: true,
title: “Social Media Brand Audiences”,
};

var view = new google.visualization.DataView(data);

var chart = new google.visualization.ColumnChart(document.getElementById(“columnchart_values”));
chart.draw(view, options);
}
</script>
<div id=”columnchart_values” style=”width: 100%; height: 1000px;”></div>

The $chart_output variable contains data from the database outputted to a formatted string in this format, for example

“[‘Acura’, 921115,119938,20327, ”],[‘Alfa Romeo’, 722300,58712,4745, ”],[‘Aston Martin’, 6471567,825688,62064, ”],…..etc”

Let me know what you think of Google Charts? Is there a better free alternative out there that you use?

4 Free PHP PDF Libraries you can use to convert HTML to PDF

Use any of these 4 libraries below to easily covert your HTML to PDF files with PHP.

I’ve always used TCPDF for converting HTML, including JPEG and SVG images into PDF files, which you can download inline in the browser, save on the server or force a “save as” dialog.

  1. Free PDF – http://www.fpdf.org/
  2. TCPDF – http://www.tcpdf.org/
  3. MPDF – http://www.mpdf1.com/
  4. dompdf – https://github.com/dompdf/dompdf

 

How to join two MySQL database tables together in a simple SELECT statement

How to join two MySQL database tables together in a simple SELECT statement?
For example I have a table of products and a table of product categories, how to return the category description of each product?
Products
———–
id
category_id
product_name

Categories
————-
id
description

A. In it’s simplest form you would join two tables based on the relationship between a key and it’s foreign key stored in another table:
SELECT p.id, p.product_name, c.description AS ‘cat_description’
FROM products p
INNER JOIN categories c on p.category_id = c.id

Using a well designed relational database and JOINed queries will make your PHP code simpler and more efficient by returning the data from two or more tables in one query.

Like this post? please leave a comment below:

How do you include frequently used code in another PHP file?

Q. How do you include PHP files in other PHP files?

– Useful for including your database connection across all pages that need it.
– If you have written some functions once and want to reference them in other pages.
– Also commonly used to keep consistent header and footer parts of your pages, by including them.

A. You can use the include and include_once statement, you can also use the require or require_once statement, all have the same effect of including your code from one PHP file into another PHP file.

<code>include (“my_file_to_include.php”);</code>

(PHP Manual)

This saves you time by re-using your PHP code and makes it easier to maintain.