Learnit Training
« Back to all themes

Software Development Training

Below you can find an overview of our trainings regarding the creation and development of software. Whether it concerns different parts of Java, Oracle or learning programming in PHP or C++: Learnit offers all these trainings tailor-made and both individually and for large groups (also Incompany).


Course nameDuration


Course nameDuration


Top 10 populairste programmeertalen

Afgelopen november werd een lijst bekend gemaakt met de populairste programmeertalen van 2020. Niet geheel verrassend stond C als ultieme favoriet nog steeds bovenaan de lijst van de TIOBE’s index. Python wist dit jaar wel voor een verrassing te zorgen: voor het eerst in de geschiedenis heeft Python Java namelijk ingehaald en vinden we Python op plek 2 en Java op plek 3 in de top 10. Naast Python, winnen ook R, Perl en Go aan populariteit. R eindigde zelfs verrassend op plek 9 in de top 10 lijst; TIOBE heeft R daarom bestempeld als ‘programming language of the year 2020’.

Waarom wint Python aan populariteit?

De CEO van TIOBE’s INDEX Paul Jansen zei over de inhaalslag van Python op Java: “Some time ago I had a flat tire and called the road patrol to help me out. The mechanic asked about my living and when I used the word ‘software’ in my answer, he smiled and started talking very enthusiastically about his own passion: programming in Python. From that moment on, I knew Python would become ubiquitous.” Waren het tien jaar geleden vooral software engineers die zich bezighouden met de verschillende programmeertalen, tegenwoordig zie je dat steeds meer mensen op de werkvloer over programmeervaardigheden beschikken. Dit heeft alles te maken met het feit dat er een tekort is aan klassieke programmeurs. Bovendien is een programmeertaal als Python relatief gemakkelijk in gebruik als je met grote hoeveelheden data wil werken. Wil je zelf met data aan de slag maar heb je nog geen of weinig kennis van een programmeertaal? Bekijk dan eens onze cursussen Python programmeren basis of Python voor data-analyse. Kun je al aardig overweg met Python? Dan is de cursus Python programmeren vervolg echt wat voor jou!

Waarom wint R aan populariteit?

Big data is een term die de meeste mensen ongetwijfeld vaker voorbij horen komen. Programma’s als R zijn uitermate geschikt om deze zogenoemde big data om te zetten in bruikbare informatie voor organisaties en daarnaast is R een stuk eenvoudiger in gebruik dan een taal als C. Wist je bijvoorbeeld dat R één van de programmeertalen is die werd gebruikt voor het vinden van een COVID-19 vaccin? Daarnaast zie je steeds vaker dat universiteiten en hogescholen statische programma’s als Stata, SAS en SPSS inruilen voor statische programmeertalen als R. Beroepsgroepen waarin veel statische analyses voorkomen maken ook steeds vaker gebruik van R, denk bijvoorbeeld aan data-analisten, wiskundigen, econometristen maar ook marketeers. Het voordeel van een programma als R is dat het niets kost: het is een ‘open source’ die iedereen kan gebruiken én verbeteren. Daarnaast staat R bekend om het feit dat je data gemakkelijk kan visualiseren met packages als ggplot2.


That's how you give good advice!

The extent to which your advice is understood, accepted and used depends to a large extent on how you yourself deliver the advice. As an advisor you are undoubtedly the specialist in your field, but how do you convince other people of your knowledge and skills? With the tips in this blog you can take your consulting skills to the next level!

  • Timing. Try to empathize with the person(s) for whom your advice is intended. Think about the place and time when you give the advice. Do you happen to know that someone has a busy week and that they are stressed? Maybe then it would be a better idea to wait with your advice.

  • Organizational ability. Don't forget that you are the specialist and try to radiate this as well. If you want to appear professional, it is best to make sure that your affairs are always in order. Make sure you don't arrive too late and don't forget any important appointments or documents.
  • Ability to analyze. Good advice can only be given after you have collected and analyzed all the necessary information. That is why you should always talk to the client first. Listen to the client but also ask specific questions. It is important to be aware of the situation so that you can give specific advice.
  • Think ahead. Advice is changeable. If you want to become or remain a good advisor, it is important to keep your eyes and ears open. Does something change within your field of expertise? Are there things that need to be taken into account in the future? As an advisor it is important that you are aware of the new trends and developments in your field.
  • Communicate. The way of communicating plays a major role if you want your advice to be taken to heart. Therefore, pay close attention to what kind of person or organisation you are dealing with, and try to attune your way of communicating to this. Also make sure that the client for whom the advice is intended feels comfortable with you. For example, ask whether that person would like to raise something for the counselling interview, or offer something to drink during the interview.
  • Do you want to improve your own consulting skills? Then take a look at our three-day training Consultancy skills and learn to communicate your advice as convincingly as possible, with results! In addition, develop your own personal advice style with the help of a Learnit trainer.


    Webscraping with Python: data at your fingertips

    Everyone makes use of it: websites where you can compare different products or services with each other. Do you want to book a hotel? Click on the arrival date and fill in the destination on a site like expedia.nl that compares different hotels and prices of providers. Looking for new sneakers? Type in sneakers on beslist.nl and enter for example what size you have and what color sneakers you are looking for. This way you will be able to find your perfect sneakers. Handy right? The technique that makes it possible to search this fast is webscraping.

    What is webscraping?

    Webscraping allows people to retrieve important data from a site or allows them to search for certain features on a website. Optionally, data can be retrieved or stored automatically and periodically. Website administrators can use various programming languages to enable webscraping, including Python. The 'Beautiful Soup' module is very useful for webscraping, and 'numphy' and 'pandas' make analysis a lot easier. Webscraping ensures that visitors to, for example, a comparison website can easily and quickly find the information they need. This makes it handy for websites such as expedia.nl, which actually just make smart use of the data from other websites. Websites like expedia.nl attract customers because they are able to bundle and display data from other websites in a smart way.

    Webinar webscraping and Python data analysis course

    Are you interested in webscraping and would you like to follow a short introduction to webinar about it? Then please here on for the free webinar Webscraping with Python, which takes place on Wednesday 23 September. Are you interested in other data analyses in Python besides webscraping? If so, please write here for our 3-day Python data analysis course. During this course you will learn how data can lead to useful insights and you will also learn how to display data in the best way. In addition, you will learn how to explain and predict the behaviour of your target group using Python. As a result, you will be better able to steer your business strategy in a targeted manner using insights gained from data analysis.

    Advantages webscraping

    The most important advantages of webscraping at a glance:

    • Automatically retrieve important data from a website
    • Simple way to get more insights through data analysis
    • Easily and quickly store usable data

    In short: webscraping is useful for anyone who wants to learn how to get the most out of processing data from your own website!


    Practical examples of the Python programming language

    In his previous blog trainer André showed that the Python programming language is used all around us. From the photos taken by telescopes to Netflix and Dropbox, Python often plays an important role. In this blog André will show by means of examples how you can use Python in practice.


    Modify data in an excel file, add new columns, detect a trend in a series of data, extract errors from data and fill in missing data. You can do all this very easily and quickly with a Python program. In addition, you can save the settings so you can easily reuse it in the same way.

    Python packages

    Millions of people around the world use Python, a free language with many packages. For fast and efficient data editing, the packages numpy, pandas and pyplot are important. With numpy you can quickly edit data, pandas is very suitable for editing tables and with pyplot you can create graphs of the data.

    Imagine that a long list of numbers has to be multiplied by a number. You do that in numpy as shown below.

    You don't have to multiply every number by 20. It happens all at once.

    As you can see below, you can also easily add up lists of numbers.

    With pandas you can extract data from an excel file, edit it and write it back again. Let's take as an example a small excel file with profit and loss points in a competition.

    We read this data with pandas.

    Then we add up the points with pandas.

    After this we can write data back to the excel file.

    The file looks like this now.

    In the last example you can see that it is also easy to make a graph of the table.

    The conclusion we can draw from these examples is that you can use Python in many ways to make your work a lot easier. The examples are of course only a small part of the different possibilities Python offers.

    Has this blog aroused your interest? Then take a look back at the free webinar of 16 January. André discussed in half an hour how easy it is to use Python in practice. Look him back here!


    Python is everywhere

    In his previous blog trainer André showed that in Python you can quickly create a program that does useful things: read and analyse a file, edit data and then make a graph of it. In this blog the trainer shows where Python is used.

    Black hole

    The picture above shows a black hole. The image was created by eight telescopes – scattered throughout the world during seventh days in 2017. The telescopes received data from a black hole that was removed from us at 55 million light years.

    In the processing of those dates, Python came to look around the corner. Freely accessible and available modules of the programming language, such as Numpy and pandas helped to display the black hole. Click here for more information.


    Also streaming service Netflix uses Python. The company uses the programming language to improve the streaming of videos. Python captures which network equipment is active. As a result, the language registers changes in the network, to analyse whether a device is functioning properly.

    Furthermore, the streaming service uses Python to ensure that the geographical storage of content is organized in such a way that a video is available to a user as quickly as possible. In this techblog about Netflix you will find more applications for which Python is used.


    The popular Dropbox tool uses Python for almost all its features: storage, sharing, Synchronisiatie, permission management and more. The company bought in 2012 Guido van Rossum, creator of Python, away at Google. As a result, Dropbox has since been the best conceivable support in the field of Python.


    For Python, several webframeworks have been written. One of the most popular is Django. This framework, originally written for a well-known American newspaper, has become a universally applicable framework.

    With Django you simply create a website. Python makes it easy to write code rules and Django will make sure you get structure without much effort. This allows you to maintain your website and expand it for example.

    Screenshot of www.nationalgeographic.com, a website built with Django.

    A very eye-catching application of Python is the contribution that the programming language has to artificial intelligence (AI). Google is very active in the field of AI and uses Python to control the AI network.

    The Python package developed by the company is called Pytorch. Setting up an AI network is not easy. Many other ways of setting up such a network make it necessary to pre-record a large amount of data. Pytorch allows you to set up the network while creating the AI.

    In short: More and more companies and organizations use Python, because the language is easy to learn and because there are many modules for Python available to do what they consider important. So if you're interested in your own future, you'll be immersed in Python.

    Free webinar

    André gave a webinar on Python on 16 July 2019. "I'm going to show how easy Python is to use," said the trainer. Look at him back here.


    Python: The language for everyone

    Python is a programming language in which everyone can learn programming quickly. With this language you can easily create a small program, develop a website, or create an application. Python is also widely used for artificial intelligence, or for analyzing data. In short Python is everywhere.

    It makes sense to know that Python was conceived in 1989 by a Dutchman, Guido van Rossum. Van Rossum worked at the Centre for Mathematics and Informatics in Amsterdam and wanted to write programs in a simple way for a project that was carried out at the Institute.

    Growing interest

    Although the language was initially only used by a handful of people, the interest increased rapidly. By the expert guidance of Van Rossum the use was only increased. The Dutch polder mentality has ensured that the Python user group is friendly and open, for anyone who wants to work with Python.

    Currently, there are thousands of Python files, called modules, that allow the user to write the software he needs. So it's easy in Python to open a text file, to count what words appear in it and how often. Then, in a few Python phrases, the user can extract the most common words and create a chart of them.

    Analyzing with Python

    Also downloading data from a website can be done in a few Python rules. Python is widely used for data analysis. For example, a company wants to make an analysis of the usefulness of the ads it places on different local media.

    To do this, a link must be made between the area where the media appears and the sales in the shops there on the spot. Also now Python can help. In a few lines there is an analysis, and if you want also graphs. If it is useful to put the data in an EXCEL spreadsheet, it costs only one Python rules.

    Also for scientific arithmetic and artificial intelligence much use is made of Python. All artificial intelligence platforms are designed to be used by Python and because the language is so easy to learn, many scientists and engineers use it.

    The company Tiobe keeps track of which language is widely used. In This ranking, Python is in third place. Most likely Python is going to rise even further.

    The conclusion is that when you need programming in your job, Python is the language to learn. In A few days time you can write small but useful programs for example to analyze website data or to monitor the use of network equipment.


    You can learn programming!

    Visit any vacancy site and you will see it immediately: there is an unprecedented demand for programmers. If you are looking for a paid job with excellent perspectives for the future, learning programming is a must. Even for jobs in which you don't directly program yourself, a programming language is an excellent addition to your CV. However, there are numerous programming languages, so where can you start best now? And which languages are interesting for the future? We made an overview of the 10 most important programming languages. Languages where you can also directly follow a training course: let those jobs come!


    Java was for years the most-requested programming language for employers. Although this has recently been outpaced by SQL, it is still very popular. Java is the standard for many enterprise software, is used by more than 9 million developers and is used to control more than 7 billion (!) devices worldwide. Its popularity owes the programming language mainly to the simplicity and readability of the code, which makes it a good starting point for novice programmers. Also, one of the basics of Java is the compatibility that ensures that older applications continue to work.


    You'll find SQL everywhere. Database technologies like MySQL, PostgreSQL and Microsoft SQL Keep banks, universities, hospitals, small and large companies running. It is not exaggerated to say that every computer and person with access to technology somehow comes into contact with SQL. For example, iOS and Android devices have access to SQLite, a SQL database, and numerous mobile applications that use SQL directly.


    C originates from the early years 70, when it was developed as a generic, general programming language. As one of the oldest programming languages available, C gives us the building blocks for other popular languages such as C++, Java, JavaScript and Python. C itself is mainly used for operating systems and industrial applications.


    C is an object-oriented programming language based on C. Since the language in the years 80 was developed it has been used to develop Adobe and Microsoft applications, MongoDB databases and large portions of Mac OS/X operating system. It is considered by many to be the best programming language to learn for applications where performance is of great importance, such as games or audio/videobewerking.

    iOS/Objective C/Swift

    Until 2014, objective C was the programming language used by the Apple operating system. It plays a role in Apple's OS X, iOS and its Apis. For a long time it was the language in which you had to write iPhone applications as a programmer, until Apple came up with its own programming language a few years ago: Swift. Swift seems to be very much like C++ and its predecessor objective C, but it is easier for most programmers to learn.


    JavaScript – not to be confused with Java – is widely used to add interactivity to websites and is supported by all larger internet browsers. Not only can it be used for simple functionality like popups or simple games, it also forms the basis for Node. JS – A server technology that is widely used in real-time communication.


    PHP was in fact never meant as a programming language. The Danish-Canadian programmer Rasmus Lerdorf developed PHP in 1994 as a series of tools that enabled him to manage his personal website (Personal homepage). Today we changed the meaning of the abbreviation to Hyper test Pre-Processor and used the language on servers to dynamically generate HTML websites. PHP is easy to learn, but in addition possesses much advanced functionality that is of great value for experienced programmers.


    HTML forms the basis for Web pages. This does the programming language by actually setting a structure that can be extended or modified by other languages. For example, JavaScript can be used to add advanced interactivity, and CSS influences the presentation, formatting, and layout of Web pages. Although PHP can generate HTML from a server, knowledge of HTML and CSS for Web developers is an absolute must.


    Python is a server-side programming language for websites and mobile applications. It is a relatively easy language to learn, thanks to the readability and brevity of the code. In Python, it is often possible to express a concept in less rules than in many other languages. Python is used in applications such as Insta gram and Pinterest in the form of the Web-framework Django. Google, Yahoo! and NASA all make use of Python.


    Ruby is – like Python – a programming language that is very user-friendly for novice programmers. At the same time, the object-oriented language is very dynamic and thus popular for developing websites and mobile apps. It is the basis of the Ruby on Rails framework used by Groupon, Shopify, Scribd and GitHub.

    Fill in the list!

    Of course there are many more programming languages. We've just put a few of the most popular for you. Do you have additions? Are you missing a language that you really often use? Share your knowledge and experience with us!

    Learning A (different) programming language yourself?

    Would you like to learn a (different) programming language yourself? Then quickly discover our workshops and courses.Under the guidance of an experienced trainer you will learn the basics of programming in an efficient way. Have you moved on? Then it is possible to register for an advanced training. You will then go deeper into the subject matter. Such a training is not only fun, but it also fits in well with practice. This way you can be sure that you can immediately do something with your new knowledge and skills!


    How does SQLFiddle work?

    Wi je de queries op deze blog zelf uitvoeren? Of wil je snel iets met SQL uitproberen zonder een SQL-server te installeren? Gebruik SQL fiddle! SQL fiddle is een online tool waarmee je queries kunt uitproberen en delen met anderen. Het gebruik ervan is er eenvoudig:

    Step 1
    Although there is an ANSI SQL standard, there are differences between SQL servers. Especially if you are getting started with features and stored procedures. Fortunately, SQL fiddle supports 7 different SQL servers.

    Step 2
    After selecting the server you can create the schema (the tables of data). The queries for this are in the left part of the screen. The database with the results of our students is here.

    Step 3
    If the creation of the schema is successful you can start writing the queries. This can be in the right screen. Note: With MySQL you can only make selection queries and not add records or modify tables.

    Run SQL sends the query to the server and gives you the result at the bottom of your screen. (The processing time depends on the server's busyness).

    You can share the query with others by simply copying and forwarding the URL.

    Cursus SQL

    Wij bieden de mogelijkheid om een cursus SQL Basis te volgen op diverse trainingslocaties of online. Benieuwd naar onze tweedaagse cursus SQL Basis? Klik dan hier. Ben je al bekend met SQL en wil jij nog meer leren over deze programmeertaal? Dan is onze cursus SQL Vervolg echt wat voor jou!


    Export SQL database to CSV

    With PHP you can easily provide information from your database to your visitors in a CSV file. CSV (Comma separated values) is a simple format that separates each value with a comma. It is open with Excel, after which you can leave data analyses on or make graphs of them.

    We will write a PHP script that retrieves results from our database and converts it into a CSV file. In our case the results of course exams.

    The first step is to retrieve the data from the database. We use PDO (5 reasons to USE PDO WITH SQL databases).

    $db_user = 'learnit';
    $db_pass = 'geheim';
    $db_name = 'uitslagen';
    $db_host = 'localhost';
    try {
        $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", 
                      // Als een error optreed moet PDO een exception gooien
                      array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    	$query = "SELECT id, naam, email, resultaat FROM Uitslagen";
    	$pds = $db->query($query); 
    } catch(PDOException $ex) {
        echo "An Error occured: " . $ex->getMessage(); 

    Here We use a try-catch to capture exceptions that can occur with a verbindingprobleem. The result of the query is a PDOStatement Object. Here we can take the records out, but first we have to prepare:

    Header (' Content-Type: text/csv ');
    Header (' Content-Disposition: attachment; filename = ' results. csv ');

    Using the header function, we adapt the HTTP header. We want the visitor to download the file directly. We do this by specifying in the header that it is a CSV file and that it is called "results. csv".

    Now opening the standard output we can write the CSV file itself:

    $fp = fopen (' php://output ', ' W ');
    Fputs ($fp, Chr (0xEF). chr (0xBB). Chr (0xBF));

    In The CSV file we want to use the UTF-8 encoding. To ensure that Excel recognizes that this is a UTF-8 encoding, the CSV tooth should start with 0xEF, 0xBB, 0xBF.

    Now we can add the first line to the CSV file. It contains the headings of the data:

    Fputs ($fp, "ID, name, email, resultaat\r\n");

    The \r\n The end of the string indicates a line break. If we did not add the following data would be pasted instead of a new line. Note: This only works in strings with double quotes.

    The next loop is repeated as long as records can be fetched. This converts the data into the CSV file.

    while($uitslag = $pds->fetch(PDO::FETCH_ASSOC)) {
    	fputcsv ($fp, $uitslag, ','); 

    When writing to the file we are helped by the fputcsv() Function. This writes the array to the CSV file. The third argument of this function is the separator character. In Place of the comma (,) we could also use a different separator, for example the semicolon (;). To complete the whole, we neatly close the file:

    Fclose ($fp);

    The entire script:

    	$query = "SELECT id, naam, email, resultaat FROM Uitslagen";
    	$pds = $db->query($query); 
    } catch(PDOException $ex) {
       	echo "An Error occured: " . $ex->getMessage(); 
    header('Content-Type: text/csv' );
    header('Content-Disposition: attachment; filename="uitslagen.csv"');
    $fp = fopen('php://output', 'w');	
    fputs($fp, chr(0xEF) . chr(0xBB) . chr(0xBF) );
    fputs($fp, "id, naam, email, resultaat\r\n");
    while($uitslag = $pds->fetch(PDO::FETCH_ASSOC)) {
    	fputcsv ($fp, $uitslag, ','); 

    Training SQL Basic

    Are you interested in learning this programming language? Discover with an SQL training data that has previously been hidden from you. In our two-day SQL Basic training you will learn all the important ins and outs of SQL!


    SQL - tips for the WHERE command!

    When selecting data from a database, you often need to compose a filter. Here are 5 tips to avoid common mistakes when filtering with WHERE.

    You can also try out all the examples on sqlfiddle.com with the results database.

    Tip 1

    If you filter by text, it must be placed between some quotes. But it can, of course, occur that the searched text itself contains a quote. You can "escape" by typing two instead of one quote. The quote that is geëscaped is no longer seen as a closing, but as part of the text. The query to find all students from The The Hague looks like this:

    FROM Results
    WHERE place = ' ' The Hague ';

    Tip 2

    It remains difficult not to use the comma as a decimal separator anywhere in the world. This creates confusion for our Dutch people. The ANSI standard of SQL has been chosen for the U.S. number format. In queries, decimals must ALWAYS be quoted with a point.

    FROM Results
    WHERE Result > = 8.5

    Don't be confused if you see a comma in the result, the comma has a different meaning in a query.

    Tip 3

    It is possible to combine multiple filter conditions, for example by AND As a OR To use:

    FROM Results
    WHERE place = ' Amsterdam ' OR place = ' ' The Hague ' 
            AND Showing > = 8.5

    There is a snag here: conditions are not combined from left to right. The AND Operator binds stronger than the OR. Our sample query results in:

    • All students from Amsterdam
    • All students from The The Hague with a result of at least 8.5.

    But that was not what we had in mind, we only wanted to see the students from The The Hague and Amsterdam who scored at least a 8.5. We now also see students from Amsterdam who score less than a 8.5. Fortunately this is easy to solve by using parentheses:

    FROM Results
    WHERE (place = ' Amsterdam ' OR place = ' ' The Hague ') 
            AND Showing > = 8.5

    Tip 4

    Showing all students with a digit in the range 8.5 through 9 can use the following query:

    SELECT  *
    FROM    Uitslagen
    WHERE   resultaat >= 8.5 AND resultaat <=9

    However, a separate keyword is also available for selecting a range. The keyword BETWEEN Makes the query a little shorter. It can be used in the following way:

    FROM Results
    WHERE result BETWEEN 8.5 AND 9

    But beware, the keyword BETWEEN may cause confusion; Our Dutch BETWEEN Often translated with ' between '. However, the figures with limit values, in our example 8.5 and 9, are also shown in the result. A better translation of BETWEEN Is ' from... To '.

    Tip 5

    To make queries more compact, you can sometimes use the IN Keyword. For example, to show all students from Amsterdam, Rotterdam and The The Hague:

    FROM Results
    WHERE place = ' Amsterdam ' OR 
            Place = ' Rotterdam ' OR 
            Place = ' ' The Hague '

    This can also be the case:

    FROM Results
    WHERE TO Place (' Amsterdam ', ' Rotterdam ', ' ' The Hague ')

    The last notation is not only much shorter, but also much easier to expand.

    Training SQL Basic

    Are you interested in learning this programming language? Discover with an SQL training data that has previously been hidden from you. In our two-day SQL Basic training you will learn all the important ins and outs of SQL!


    5 reasons to communicate with your SQL database via PDO

    There are several ways to communicate with a database from PHP. Since PHP 5.1 A nice extension has been released: PHP database Objects (PDO). Do you use the old fashioned mysql_connect() And mysql_query() Features? Here five reasons to switch:

    1. Binding parameter

      Creating a query with input from website visitors brings with it dangers. Visitor Input can contain dangerous SQL code. If the code component becomes a query there is a SQL injection, a common vulnerability.

      With PDO you can better arm against SQL injections thanks to ' parameter binding '. PDO offers the ability to use placeholders in your query. This will prevent unwanted SQL code from entering the query.

    2. Exploits of a mom

      Randall Munroe, xkcd.com, CC BY-NC 2.5

    3. Transactions

      Changes to your database are often not self-explanatory. Often, one request from the visitor asks for changes to multiple tables. When making an order in a webshop, not only the order must be saved, but also the inventory will be updated.

      If one of these queries does not go well, for example because the inventory is insufficient, the database will be in an inconsistent state. With transactions, you can do a "rollBack" in such a case, which will undo all changes to the database since the start of the transaction.

    4. ' Universal ' interface

      With PDO you are not tied to one database. No less than 12 database systems are supported, including MySql, PostgreSQL, Microsoft SQL Server and Oracle. Thanks to PDO, your program can communicate with it in the same way. When you connect, you indicate what type of database it is, then you can ask them using the same methods.

    5. Disappearance of old functions

      The obsolete mysql_*() Features are no longer supported from PHP version 5.5.0. In the latest versions (from PHP 7.0.0) They are not even included and therefore no longer use.

    6. Object oriented

      PDO is completely object oriented. So you have all the advantages of object oriented programming, including exceptions. Exceptions allow you to handle errors, such as connection problems, in an elegant way.

    Note: Is the PDO extension not available on the system where your website Is running, and do you use a MySQL database? Then switch to Mysqli. Less universal and elegant than PDO, it also provides parameter binding, transactions and stored procedures.


    Save visitor passwords securely with PHP? Use Hashing!

    Again this week the weather was quite touching: The passwords of millions of internet users are on the street. While the creator of the website could have avoided this easily.

    What is the danger?

    Unlike computers, people are not really good at memorizing them. However, you have to remember passwords everywhere. As a result, many people use a single password for multiple websites. This entails a major security risk. If a password is leaked, all accounts can be accessed where this password has been reused.

    How do you prevent visitor password theft?

    The best solution to not steal passwords is simply not to keep them! Instead, we'll save the hash of the password. A hash function makes a password unrecognizable. Based on the hash, it is impossible to trace the input. A hash function always produces the same result with the same input. A strong hash function also ensures that two different texts do not result in the same hash (if this happens there is a collision). Even if the hackers manage to get a database with hashes, they don't have passwords in their hands yet.

    How do you use the hash functions of PHP?

    Since PHP 5.5 It has become very easy to hash passwords by using the function password_hash(). This function has one mandatory argument: the password. The second argument allows you to specify which hashing algorithm to use. If you do not specify this, the strong BCrypt algorithm is used by default. In addition to hashing, this function also adds a Salt which protects against Rainbow Tables. Generating the hash goes as follows:

      $wachtwoord = ' secret password ';
      $hash = Password_hash ($wachtwoord, PASSWORD_BCRYPT);
      Echo $hash;

    The generated hash is a string of 60 characters and can look like this: $2y $10 $ Se3mLsHueAYTM3G4Wd9hTuyfzPCRYtafImcOSO2U0H4290jPU. SUA. From this hash it is impossible to retrieve the password. This hash can be stored securely in your database.

    To check if someone has entered a correct password we use the function password_verify(). We give these two arguments, the password that was entered in the login and the hash that we had saved.

      $hash = '$2y$10$Se3mLsHueAYTM3G4Wd9hTuyfzPCRYtafImcOSO2U0H4290jPU.SGO';
      $wachtwoord = 'Onzin';
      if (password_verify( $wachtwoord, $hash)){
          echo 'Correct wachtwoord';
      } else {
        echo 'Incorrect wachtwoord';

    In this case, the user password will generate a different hash than was stored in our database. This allows us to verify that the password you entered is correct, without having to save the original password. Even if a hacker gains access to our database there is no password to find.