Showing entries 1 to 10 of 905
10 Older Entries »
Displaying posts with tag: PHP (reset)
ConFoo Vancouver 2017 Calling for Papers

Want to get your web development ideas in front of a live audience? The
call for papers for the ConFoo Vancouver 2017 web developer conference is open! If you have
a burning desire to hold forth about PHP, databases, JavaScript, or any
other web development topics, we want to see your proposals. The window is
open only from April 10 to May 8, 2017, so hurry. An added benefit: If your
proposal is selected and you live outside of the Vancouver area, we will
cover your travel and hotel.

You’ll have 45 minutes for the talk, with 35 minutes for your topic and
10 minutes for Q&A. We can’t wait to see your proposals!

Until the talks are picked, the price for the tickets will be at its
lowest. Once …

[Read more]
How to secure your LEMP stack

LEMP, it stands for Linux, (EngineX) NGINX, MariaDB (or MySQL) and PHP. Due to its flexibility and simplicity, NGINX slowly takes over the Internet. In this tutorial, we will attempt, through examples of bad and good practices, to go through the steps of properly securing your Linux web server. So what is the term Security? Often you can hear the IT Engineers saying “Our network is secure” or “Our servers are secure” however, those sentences although widely used are technically not correct, as in many books and publications you can find that Security as a term is not a static value, but rather a degree. From […]

Get Started Running Laravel in a Docker Container

Laravel and Docker are two very popular tools of choice when considering building for the web. Although both of them do very different things, they can both be combined to create amazing products.

For our use case, we will be running Laravel in a Docker container. This is going to be a simple demonstration on how to use both products to create real-life applications. Nothing heavy.

While this article is made to cater for everyone who will be reading it, the article assumes you already have a working basic knowledge of both Docker and Laravel.

Prerequisites

Before you start, you need to have some certain prerequisites in place:

  • Local machine running the latest version of Docker, v1.13.1 at the time of writing this article.
  • Local machine running the latest version of …
[Read more]
Working with JSON in MySQL

SQL databases tend to be rigid.

If you have worked with them, you would agree that database design though it seems easier, is a lot trickier in practice. SQL databases believe in structure, that is why it's called structured query language.

On the other side of the horizon, we have the NoSQL databases, also called schema-less databases that encourage flexibility. In schema-less databases, there is no imposed structural restriction, only data to be saved.

Though every tool has it's use case, sometimes things call for a hybrid approach.

What if you could structure some parts of your database and leave others to be flexible?

MySQL version 5.7.8 introduces a JSON data type that allows you to accomplish that.

In this tutorial, you are going to learn.

  1. How to design your database tables using …
[Read more]
Types in PHP and MySQL

Since PHP 7.0 has been released there's more attention on scalar types. Keeping types for data from within your application is relatively simple. But when talking to external systems, like a database things aren't always as one eventually might initially expect.

For MySQL the type we see -- in the first approximation -- is defined by the network protocol. The MySQL network protocol by default converts all data into strings. So if we fetch an integer from the database and use PHP 7's typing feature we get an error:

<?php
declare(strict_types=1);

function getInteger() : int {
  $mysqli = new mysqli(...);
  return $mysqli->query("SELECT 1")->fetch_row()[0];
}

var_dump(getInteger());
?>

Fatal error: Uncaught TypeError: Return value of getInteger() must be of the type integer, string returned in t.php:6

Of course the solution is easy: Either we cast ourselves or we disable the strict mode and PHP will …

[Read more]
ConFoo Montreal 2017 Calling for Papers

ConFoo Montreal: March 8th-10th 2016

Want to get your web development ideas in front of a live audience? The call for papers for the ConFoo Montreal 2017 web developer conference is open! If you have a burning desire to hold forth about PHP, Java, Ruby, Python, or any other web development topics, we want to see your proposals. The window is open only from August 21 to September 20, 2016, so hurry. An added benefit: If your proposal is selected and you live outside of the Montreal area, we will cover your travel and hotel.

You’ll have 45 minutes to wow the crowd, with 35 minutes for your topic and 10 minutes for Q&A. We can’t wait to see your proposals. Knock us out!

ConFoo Montreal will be held on March 8-10, 2017. For those of you who already know …

[Read more]
MySQL Password Security Changes for PHP Developers

MySQL 5.7 introduced many new facets to password security. The first thing most notice is that you are assigned a random root password at installation time. You then have to search the log file for this random password, use it to login, and then change it. For the examples on the post I am using a fresh install of 5.7.13 on Oracle Linux 7.1 and was provided with the easy to remember password of nLvQRk7wq-NY which to me looked like I forgot to hit escape when trying to get out of vim. A quick ALTER USER to change the password and you are on your way. Defaults Password Lifetime and Complexity5.7.13 now has the default password lifetime set to 0 or 'never expire'. My fresh install shows that the value of mysql.user.password_lifetime is set to NULL which …

[Read more]
ConFoo Vancouver: Call for Papers is open

ConFoo Vancouver: December 5th-7th 2016

We are happy to open the call for papers of ConFoo Vancouver 2016! If you are interested in speaking about web development and related topics, please submit until June 6th. We will cover travel and hotel for the speakers who require it.

ConFoo Vancouver will be held on December 5-7, 2016. For those who are familiar with ConFoo Montreal, that conference will still be running annually in addition to Vancouver. Visit our site to learn more about the event.

Talks are 35 minutes for the topic and 10 minutes for Q&A, for a total of 45 minutes. We are eagerly expecting your proposals!

What happens when you create a MySQL Document Store

The MySQL Document Store introduced with version 5.7.12 allows developers to create document collections without have to know Structured Query Language. The new feature also comes with a new set of terminology. So let us create a collection and see what it in it (basically creating a table for us SQL speakin' old timers).

So start the mysqlsh program, connect to the server, change to the world-x schema (database) switch to Python mode, a create a collection (table).

What did the server do for us? Switching to SQL mode, we can use describe to see what the server has done for us.

We have a two column …

[Read more]
Digging Down into JSON data with the MySQL Functions -- A Question from Peter Zaitsev -- Follow Up

Last time this blog covered digging into a JSON document in a MySQL 5.7 table. The goal was to pull certain records matching a particular criteria. Both Peter Zaitsev and Morgan Tocker get my thanks for their kind comments. My example was a little contrived in that an application would be used to fine tune seeking for a particular key value pair. I was trying to pull single records which is kind of silly when it is much easier to use PHP to parse the data. What follows below is a sample PHP script to grab out the matching records and then feed the results, the JSON document, into an array.


#!/usr/bin/php
<?php
$mysqli = new mysqli("localhost", "root", "hidave", "test");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", …
[Read more]
Showing entries 1 to 10 of 905
10 Older Entries »