.NET & MySQL Part 5
MySQL and OpenSSL
Software used
- Visual C++ 2008 Redistributables (x86) This is required to use OpenSSL for Windows (Developers)
- OpenSSL for Windows
- MySQL Server
In this guide:
- Generate SSL Certificates
Create CA certificate
Create server certificate
Create client certificate - Configure MySQL Server
- Setting User SSL Properties
- openssl genrsa 2048 > ca-key.pem
D:\newcerts>openssl genrsa 2048 > ca-key.pem
Loading ’screen’ into random state – done
Generating RSA private key, 2048 bit long modulus
……………………………………………………………………..
……………….+++
……..+++
e is 65537 (0×10001) - openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.pem
D:\newcerts>openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.p
em
Loading ’screen’ into random state – done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:ZA
State or Province Name (full name) [Some-State]:Mpumalanga
Locality Name (eg, city) []:Ermelo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Test
Organizational Unit Name (eg, section) []:Test
Common Name (eg, YOUR name) []:Test
Email Address []:test@mail.com - openssl req -newkey rsa:2048 -days 1000 -nodes -keyout server-key.pem > server-req.pem
D:\newcerts>openssl req -newkey rsa:2048 -days 1000 -nodes -keyout server-key.pe
m > server-req.pem
Loading ’screen’ into random state – done
Generating a 2048 bit RSA private key
……………………………………………………………………..
………………………….+++
……………………………..+++
writing new private key to ’server-key.pem’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:ZA
State or Province Name (full name) [Some-State]:Mpumalanga
Locality Name (eg, city) []:Ermelo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:TestCo
Organizational Unit Name (eg, section) []:TestCo
Common Name (eg, YOUR name) []:TestCo
Email Address []:testco@mail.comPlease enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: xxxxxxxxxxxx
An optional company name []: xxxxxxxxxx - openssl x509 -req -in server-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem
D:\newcerts>openssl x509 -req -in server-req.pem -days 1000 -CA ca-cert.pem -CAk
ey ca-key.pem -set_serial 01 > server-cert.pem
Loading ’screen’ into random state – done
Signature ok
subject=/C=ZA/ST=Ermelo/L=Ermelo/O=TestCo/OU=TestCo/CN=TestCo/emailAddress=testc
o@mail.com
Getting CA Private Key - openssl req -newkey rsa:2048 -days 1000 -nodes -keyout client-key.pem > client-req.pem
D:\newcerts>openssl req -newkey rsa:2048 -days 1000 -nodes -keyout client-key.pe
m > client-req.pem
Loading ’screen’ into random state – done
Generating a 2048 bit RSA private key
……………….+++
…+++
writing new private key to ‘client-key.pem’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:ZA
State or Province Name (full name) [Some-State]:Mpumalanga
Locality Name (eg, city) []:Ermelo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:TestClient
Organizational Unit Name (eg, section) []:TestClient
Common Name (eg, YOUR name) []:TestClient
Email Address []:testclient@mail.comPlease enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: xxxxxxxxxxxxxxxx
An optional company name []: xxxxxxxxxxxxxx - openssl x509 -req -in client-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem
D:\newcerts>openssl x509 -req -in client-req.pem -days 1000 -CA ca-cert.pem -CAk
ey ca-key.pem -set_serial 01 > client-cert.pem
Loading ’screen’ into random state – done
Signature ok
subject=/C=ZA/ST=Mpumalanga/L=Ermelo/O=TestClient/OU=TestClient/CN=TestClient/em
ailAddress=testclient@mail.com
Getting CA Private Key
The MySQL manual is quite clear how to create the SSL certificates, but vague how to implement it on Windows.
See Chapter 5.5.7 Using SSL for Secure Connections.
See Chapter 5.5.7.4. Setting Up SSL Certificates for MySQL
Generate Certificates
Configure MySQL Server
Open the cmd propt and execure the following commands:
net start mysql
mysql -u root -p
enter the password
SHOW VARIABLES LIKE ‘have_ssl’;
mysql> SHOW VARIABLES LIKE ‘have_ssl’;
| Variable_name | Value |
| have_ssl | DISABLED |
1 row in set (0.06 sec)
This means MySQL supports SSL but it is not installed.
type exit and press Enter.
mysql> exit
Bye
Stop MySQL server.
D:\>net stop mysql
The MySQL service is stopping.
The MySQL service was stopped successfully.
Take Note:
My PC’s root drive is D:\, usually it is C:\. Change it according to your needs.
From the directory you have created the certificates (See MySQL Manual Chapter 5.5.7.4. Setting Up SSL Certificates for MySQL) copy the following files to D:\Program Files\MySQL\MySQL Server 5.1\ssl\
Note: You can use any directory you want to.
- ca-cert.pem
- client-cert.pem
- client-key.pem
- server-cert.pem
- server-key.pem
Open the file D:\Program Files\MySQL\MySQL Server 5.1\my.ini in your favourite text editor.
under the [client] add the following:
ssl-ca="D:/Program Files/MySQL/MySQL Server 5.1/ssl/ca-cert.pem"
ssl-cert="D:/Program Files/MySQL/MySQL Server 5.1/ssl/client-cert.pem"
ssl-key="D:/Program Files/MySQL/MySQL Server 5.1/ssl/client-key.pem"
under the [mysqld] add the following:
- Add SSL Support
ssl-ca="D:/Program Files/MySQL/MySQL Server 5.1/ssl/ca-cert.pem"
ssl-cert="D:/Program Files/MySQL/MySQL Server 5.1/ssl/server-cert.pem"
ssl-key="D:/Program Files/MySQL/MySQL Server 5.1/ssl/server-key.pem"
Save and close the file
Start MySQL Server
D:\>net start mysql
The MySQL service is starting…
The MySQL service was started successfully.
Log into MySQL monitor
D:\>mysql -u root -p
Enter password: *********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.32-community MySQL Community Server (GPL)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
Check if SSL is active
mysql> SHOW VARIABLES LIKE ‘have_ssl’;
| Variable_name | Value |
| have_ssl | YES |
1 row in set (0.02 sec)
Check determine whether the current connection with the server uses SSL by checking the value of the Ssl_cipher
mysql> SHOW STATUS LIKE ‘Ssl_cipher’;
| Variable_name | Value |
| Ssl_cipher | DHE-RSA-AES256-SHA |
Setting User SSL Properties
Refer to MySQL Manual Chapter 12.5.1.3. GRANT Syntax
The SSL Options will be sent after REQUIRE clause.
The options are
- SSL Tells the server to allow only SSL-encrypted connections for the account.
- X509 Means that the client should have a valid certificate, but we do not care about the exact certificate, issuer or subject.
- CIPHER ‘cipher’ Is needed to ensure strong ciphers and keylengths will be used.
- ISSUER ‘issuer’ Means the client must present a valid X509 certificate issued by issuer "issuer".
- SUBJECT ’subject’ Means the client must present a valid X509 certificate with the subject "subject" on it.
Examples:
GRANT ALL PRIVILEGES ON test.* TO ‘myuser’@'localhost’
IDENTIFIED BY ‘mypassword’
REQUIRE SSL;
GRANT ALL PRIVILEGES ON test.* TO ‘myuser’@'localhost’
IDENTIFIED BY ‘mypassword’
REQUIRE X509;
GRANT ALL PRIVILEGES ON test.* TO ‘myuser’@'localhost’
IDENTIFIED BY ‘mypassword’
REQUIRE CIPHER ‘DHE-RSA-AES256-SHA’;
GRANT ALL PRIVILEGES ON test.* TO ‘myuser’@'localhost’
IDENTIFIED BY ‘mypassword’
REQUIRE ISSUER ‘/C=ZA/ST=Ermelo/L=Ermelo/O=Test/OU=Test/CN=Test/emailAddress=test@mail.com’;
GRANT ALL PRIVILEGES ON test.* TO ‘myuser’@'localhost’
IDENTIFIED BY ‘mypassword’
REQUIRE SUBJECT ‘/C=ZA/ST=Mpumalanga/L=Ermelo/O=TestClient/OU=TestClient/CN=TestClient/emailAddress=testclient@mail.com’;
GRANT ALL PRIVILEGES ON test.* TO ‘myuser’@'localhost’
IDENTIFIED BY ‘mypassword’
REQUIRE SUBJECT ‘/C=ZA/ST=Mpumalanga/L=Ermelo/O=TestClient/OU=TestClient/CN=TestClient/emailAddress=testclient@mail.com’
AND ISSUER ‘/C=ZA/ST=Ermelo/L=Ermelo/O=Test/OU=Test/CN=Test/emailAddress=test@mail.com’
AND CIPHER ‘DHE-RSA-AES256-SHA’;
Happy Coding!
In the Next Post we will return to VB.NET and the Connection Strings.
Previous Posts:
.NET & MySQL Part 1 A list of software required as well as optional software that can be used.
.NET & MySQL Part 2 Install MySQL Server
.NET & MySQL Part 3 Install PHP on Windows XP IIS Server
.NET & MySQL Part 4 Setup MySQL Connection String for a Windows application using VB.NET.
Version 1.0
Super14 2009 Week 1-7 Results
Week 7
Week 6
Week 5
Week 4
Week 3
Week 2
Week 1
| Week 7 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 40 | 2009/03/27 Fri | 08:35 | Auckland | Blues | NZ | 22 | v | Waratahs | AU | 27 |
| 41 | 2009/03/28 Sat | 06:30 | Palmerston North | Highlanders | NZ | 36 | v | Bulls | SA | 12 |
| 42 | 2009/03/28 Sat | 08:35 | Christchurch | Crusaders | NZ | 11 | v | Stormers | SA | 7 |
| 43 | 2009/03/28 Sat | 11:05 | Brisbane | Reds | AU | 26 | v | Chiefs | NZ | 50 |
| 44 | 2009/03/28 Sat | 17:00 | Durban | Sharks | SA | 35 | v | Brumbies | AU | 14 |
| 45 | 2009/03/28 Sat | 19:10 | Johannesburg | Lions | SA | 32 | v | Hurricanes | NZ | 38 |
| Cheetahs & Western Force Bye | ||||||||||
| Week 6 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 34 | 2009/03/20 Fri | 08:35 | Wellington | Hurricanes | NZ | 14 | v | Bulls | SA | 19 |
| 35 | 2009/03/21 Sat | 06:30 | Dunedin | Highlanders | NZ | 32 | v | Cheetahs | SA | 8 |
| 36 | 2009/03/21 Sat | 08:35 | Hamilton | Chiefs | NZ | 63 | v | Blues | NZ | 34 |
| 37 | 2009/03/21 Sat | 10:40 | Sydney | Waratahs | AU | 13 | v | Crusaders | NZ | 17 |
| 38 | 2009/03/21 Sat | 12:45 | Perth | Western Force | AU | 10 | v | Sharks | SA | 22 |
| 39 | 2009/03/21 Sat | 17:00 | Johannesburg | Lions | SA | 25 | v | Brumbies | AU | 17 |
| Reds & Stormers Bye | ||||||||||
| Week 5 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 28 | 2009/03/13 Fri | 08:35 | North Harbour | Blues | NZ | 46 | v | Cheetahs | SA | 12 |
| 29 | 2009/03/13 Fri | 10:40 | Canberra | Brumbies | AU | 21 | v | Waratahs | AU | 11 |
| 30 | 2009/03/14 Sat | 06:30 | Christchurch | Crusaders | NZ | 23 | v | Western Force | AU | 23 |
| 31 | 2009/03/14 Sat | 08:35 | Invercarqill | Highlanders | NZ | 10 | v | Chiefs | NZ | 14 |
| 32 | 2009/03/14 Sat | 11:05 | Brisbane | Reds | AU | 25 | v | Sharks | SA | 13 |
| 33 | 2009/03/14 Sat | 17:00 | Cape Town | Stormers | SA | 56 | v | Lions | SA | 18 |
| Hurricanes & Bulls Bye | ||||||||||
| Week 4 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 22 | 2009/03/06 Fri | 08:35 | Hamilton | Chiefs | NZ | 31 | v | Western Force | AU | 13 |
| 23 | 2009/03/06 Fri | 10:40 | Sydney | Waratahs | AU | 15 | v | Reds | AU | 11 |
| 24 | 2009/03/07 Sat | 03:30 | New Plymouth | Hurricans | NZ | 29 | v | Cheetahs | SA | 12 |
| 25 | 2009/03/07 Sat | 06:30 | Auckland | Blues | NZ | 31 | v | Sharks | AU | 35 |
| 26 | 2009/03/07 Sat | 08:35 | Dunedin | Highlanders | NZ | 6 | v | Crusaders | NZ | 0 |
| 27 | 2009/03/07 Sat | 17:00 | Pretoria | Bulls | SA | 14 | v | Stormers | SA | 10 |
| Brumbies & Lions Bye | ||||||||||
| Week 3 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 15 | 2009/02/27 Fri | 08:35 | Christchurch | Crusaders | NZ | 24 | v | Hurricanes | NZ | 30 |
| 16 | 2009/02/27 Fri | 10:40 | Sydney | Waratahs | AU | 34 | v | Highlanders | NZ | 16 |
| 17 | 2009/02/28 Sat | 08:35 | Hamilton | Chiefs | NZ | 15 | v | Sharks | SA | 22 |
| 18 | 2009/02/28 Sat | 10:40 | Canberra | Brumbies | AU | 16 | v | Western Force | AU | 25 |
| 19 | 2009/02/28 Sat | 17:00 | Johannesburg | Lions | SA | 9 | v | Bulls | SA | 16 |
| 20 | 2009/02/28 Sat | 19:10 | Cape Town | Stormers | SA | 8 | v | Blues | NZ | 14 |
| 21 | 2009/03/01 Sun | 08:10 | Brisbane | Reds | AU | 22 | v | Cheetahs | SA | 3 |
| Week 2 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 8 | 2009/02/20 Fri | 08:35 | Wellington | Huricanes | NZ | 22 | v | Highlanders | NZ | 17 |
| 9 | 2009/02/20 Fri | 10:40 | Sydney | Waratahs | AU | 11 | v | Chiefs | NZ | 7 |
| 10 | 2009/02/20 Fri | 12:45 | Perth | Western Force | AU | 16 | v | Cheetahs | SA | 10 |
| 11 | 2009/02/20 Sat | 19:10 | Cape Town | Stormers | SA | 27 | v | Reds | AU | 24 |
| 12 | 2009/02/21 Sat | 10:40 | Canberra | Brumbies | AU | 18 | v | Crusaders | NZ | 16 |
| 13 | 2009/02/21 Sat | 17:00 | Pretoria | Bulls | SA | 59 | v | Blues | NZ | 26 |
| 14 | 2009/02/21 Sat | 19:10 | Durban | Sharks | SA | 25 | v | Lions | SA | 10 |
| Week 1 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 1 | 2009/02/13 Fri | 08:35 | Dunedin | Highlanders | NZ | 31 | v | Brumbies | AU | 33 |
| 2 | 2009/02/13 Fri | 12:45 | Perth | Western Force | AU | 19 | v | Blues | NZ | 25 |
| 3 | 2009/02/13 Fri | 19:10 | Johannesburg | Lions | SA | 34 | v | Cheetahs | SA | 28 |
| 4 | 2009/02/14 Sat | 06:30 | Christchurch | Crusaders | NZ | 19 | v | Chiefs | NZ | 13 |
| 5 | 2009/02/14 Sat | 08:35 | Wellington | Hurricanes | NZ | 22 | v | Waratahs | AU | 26 |
| 6 | 2009/02/14 Sat | 17:00 | Cape Town | Stormers | SA | 15 | v | Sharks | SA | 20 |
| 7 | 2009/02/14 Sat | 19:10 | Pretoria | Bulls | SA | 33 | v | Reds | AU | 20 |
Super14 Scoreboard 2009 – Week 7 (After match #45)
|
(1) | Sharks(SA) | 26 |
| (2) | Waratahs(AU) | 23 | |
| (3) | Chiefs(AU) | 22 | |
| (4) | Bulls(SA) | 22 | |
| (5) | Hurricanes(NZ) | 20 | |
| (6) | Highlanders(NZ) | 18 | |
| (7) | Crusaders(NZ) | 18 | |
| (8) | Blues(NZ) | 15 | |
| (9) | Stormers(SA) | 13 | |
| (10) | Brumbies(AU) | 13 | |
| (11) | Reds(AU) | 12 | |
| (12) | Western Force(AU) | 12 | |
| (13) | Lions(SA) | 12 | |
| (14) | Cheetahs(SA) | 2 |
Software Pick – Flock
From the Mozilla developers and the security of FireFox comes the web browser for the collaborative web: Flock.
You can track many of your accounts and services in a single control panel. For the social media fans, try it out. Personally, I found Flog to be a little sluggish in comparison to Firefox.
Additional tools:
- Blog editor
- Media bar (Displays your photos and video across the top of your browser window)
- Photo uploader
- RSS reader
- People feed
- Web Clipboard
Flock 2.0.3 supports:
- Digg
- Flickr
- MySpace
- YouTube
- AOL Mail
- GMail
- Yahoo! Mail
- Blogger
- Blogsome
- LiveJournal
- Typepad
- WordPress
- Xanga
- Picasa
- Photobucket
- TinyPic
- Delicious
- Magnolia
The sidebar is very useful, but I found it difficult to keep track of everything.
Go to Flock’s website
10 Husbands
A lawyer married a woman who had previously divorced ten husbands.On their wedding night, she told her new husband, “Please be gentle; I’m still a virgin.
“What?” said the puzzled groom. “How can that be if you’ve been married ten times?”
“Well, husband #1 was a Sales Representative; he kept telling me how great it was going to be.
Husband #2 was in Software Services; he was never really sure how it was supposed to function, but he said he’d look into it and get back to me.
Husband #3 was from Field Services; he said everything checked out diagnostically but he just couldn’t get the system up.
Husband #4 was in Telemarketing; even though he knew he had the order, didn’t know when he would be able to deliver.
Husband #5 was an Engineer; he understood the basic process but wanted three years to research, implement, and design a new state-of-the-art method.
Husband #6 was from Finance and Administration; he thought he knew how, but he wasn’t sure whether it was his job or not.
Husband #7 was in Marketing; although he had a product, he was never sure how to position it.
Husband #8 was a psychiatrist; all he ever did was talk about it.
Husband #9 was a gynecologist; all he did was look at it.
Husband #10 was a stamp collector; all he ever did was … God, I miss him!”
“But now that I’ve married you, I’m really excited!” “Good,” said the husband, “but, why?” “Duh; you’re a LAWYER. This time I KNOW I’m gonna get screwed!”
.NET & MySQL Part 4
Setup MySQL Connection String for a Windows application using VB.NET
Software used in this post:
In Visual Studio
- Create a Windows Form Application named TestConn.
frmTest only has two buttons: btnTest and btnExit.

- Add Reference
From the menu select Project | Add Reference
Scroll down, select MySQL.Data, and click OK.

- The Program Code
Imports MySql.Data.MySqlClient
Public Class frmTest
Dim MySQLConnectionString As String
Dim MyADOConnection As MySqlConnectionPrivate Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
Try
MySQLConnectionString = ”Server=hostname;” & _
”Database=mydbschema;” & _
”Uid=myusername;” & _
”Pwd=mypassword;” & _
”Connect Timeout=30;”MyADOConnection = New MySqlConnection()
MyADOConnection.ConnectionString = MySQLConnectionString
MyADOConnection.Open()
MessageBox.Show(“Connection Opened Successfully!”, “Test Connection”)
Catch ex As Exception
MessageBox.Show(“Error Connecting to Database: ” & Err.Description, “Test Connection”))
End Try
End SubPrivate Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Try
MyADOConnection.Close()
MyADOConnection.Dispose()
Catch ex As Exception
’Do Nothing
End Try
Application.Exit()
End Sub
End Class - Run the program
Click the Test button. The following message should display if the connection was successful:

Click the Exit button
Conclusion:
Read here more about the connection strings.
In this example the connection string was hardcoded (embedded). This is not recommended!
-
Why?
- A malicious Connection String injection attack can occur. The injection attacker can completely destroy the database or retrieve important secure information.
- If any of the Connection String parameters change, the entire applications needs to be recompiled and redeployed again to all the computers.
Happy Coding
In the next post .NET & MySQL Part 5 we will have a look how to enable SSL for MySQL Server.
Previous Posts:
.NET & MySQL Part 1 A list of software required as well as optional software that can be used.
.NET & MySQL Part 2 Install MySQL Server
.NET & MySQL Part 3 Install PHP on Windows XP IIS Server
Version 1.1
.NET & MySQL Part 3
Install PHP on Windows XP IIS Server
Prerequisites: IIS (Internet Information Services available on XP CD)
Version: 5.2.9
File Name: php-5.2.9-1-win32-installer.msi
Download Location: http://www.php.net/get/php-5.2.9-1-win32-installer.msi/from/a/mirror
For the latest version check it out at http://www.php.net/downloads/
- Run php-5.2.9-1-win32-installer.msi and wait.

- Click Next

- Check I accept the terms in the License Agreement check box, and then click Next

- Change the directory to the D:\PHP\ Click Next
Note: Do not use recommended directory Program Files, you will run into problems.
Please take note my root drive is the D Drive, usually it is the C drive.

- Select IIS ISAPI module and click Next

- Expand Extensions and Select MySQL and MySQLi, and then Click Next
Note: You can select other extensions and/or options you may need.

- Click Install

- Wait …

- Click Finish

- Open IIS Management Console
Start | Control Panel | Performance and Maintenance | Administrative Tools | Internet Information Services - Select Web Sites in the Left Panel
- Right Click your web site in the Right Panel and select Properties.

- Select ISAPI Filters Tab Page
- Click Add
- Type PHP in the Filter Name Text box.
- Browse to the installation directory and select php5isapi.dll

- Click OK
- Select Home Directory tab page.
- Select the Mappings tab page, and then click the Add button.
- Click the Browse button. Browse to the installation directory and change the Files of Type to Dynamic Link libraries (*.dll). Select the file php5isapi.dll and click the Open button
- In the Extension text box type .php
- In the Limit to: text box type GET, HEAD, POST
- Check the Script Engine check box.
- Check the Check that file exists check box.

- Click OK
- Click OK
- Click OK
- Important REBOOT your PC before carrying on!
Configure IIS to work with PHP
Test PHP
Test Installation
Create a new text file called phpinfo.php and paste the following into it. Save it in your wwwroot directory (default is C:\Inetpub\wwwroot )
<html>
<head>
<title>PHP Info<title>
</head>
<body>
<p>This is an HTML line</p>
<?php
echo "This is a PHP Line";
?>
<p>
<?php
phpinfo();
?>
</p>
</body>
</html>
Open http://localhost/phpinfo.php in a web browser. If you see something like the following, you have successfully installed PHP!

When you scroll down you should see the mysql and mysqli extensions.

Note: According to some sources mysqli is an improved version of mysql and support some stuff that mysql doesn’t. And mysqli has better security and you can do object oriented programming (OOP).
Happy Coding!
In the next post in this series, we will have a more in-depth look on how to connect a MySQL database in Visual Studio with VB.NET
Previous Posts:
.NET & MySQL Part 1 A list of software required as well as optional software that can be used.
.NET & MySQL Part 2 Install MySQL Server
Version 1.1
Super14 2009 Week 1-6 Results
Week 6
Week 5
Week 4
Week 3
Week 2
Week 1
| Week 6 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 34 | 2009/03/20 Fri | 08:35 | Wellington | Hurricanes | NZ | 14 | v | Bulls | SA | 19 |
| 35 | 2009/03/21 Sat | 06:30 | Dunedin | Highlanders | NZ | 32 | v | Cheetahs | SA | 8 |
| 36 | 2009/03/21 Sat | 08:35 | Hamilton | Chiefs | NZ | 63 | v | Blues | NZ | 34 |
| 37 | 2009/03/21 Sat | 10:40 | Sydney | Waratahs | AU | 13 | v | Crusaders | NZ | 17 |
| 38 | 2009/03/21 Sat | 12:45 | Perth | Western Force | AU | 10 | v | Sharks | SA | 22 |
| 39 | 2009/03/21 Sat | 17:00 | Johannesburg | Lions | SA | 25 | v | Brumbies | AU | 17 |
| Reds & Stormers Bye | ||||||||||
| Week 5 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 28 | 2009/03/13 Fri | 08:35 | North Harbour | Blues | NZ | 46 | v | Cheetahs | SA | 12 |
| 29 | 2009/03/13 Fri | 10:40 | Canberra | Brumbies | AU | 21 | v | Waratahs | AU | 11 |
| 30 | 2009/03/14 Sat | 06:30 | Christchurch | Crusaders | NZ | 23 | v | Western Force | AU | 23 |
| 31 | 2009/03/14 Sat | 08:35 | Invercarqill | Highlanders | NZ | 10 | v | Chiefs | NZ | 14 |
| 32 | 2009/03/14 Sat | 11:05 | Brisbane | Reds | AU | 25 | v | Sharks | SA | 13 |
| 33 | 2009/03/14 Sat | 17:00 | Cape Town | Stormers | SA | 56 | v | Lions | SA | 18 |
| Hurricanes & Bulls Bye | ||||||||||
| Week 4 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 22 | 2009/03/06 Fri | 08:35 | Hamilton | Chiefs | NZ | 31 | v | Western Force | AU | 13 |
| 23 | 2009/03/06 Fri | 10:40 | Sydney | Waratahs | AU | 15 | v | Reds | AU | 11 |
| 24 | 2009/03/07 Sat | 03:30 | New Plymouth | Hurricans | NZ | 29 | v | Cheetahs | SA | 12 |
| 25 | 2009/03/07 Sat | 06:30 | Auckland | Blues | NZ | 31 | v | Sharks | AU | 35 |
| 26 | 2009/03/07 Sat | 08:35 | Dunedin | Highlanders | NZ | 6 | v | Crusaders | NZ | 0 |
| 27 | 2009/03/07 Sat | 17:00 | Pretoria | Bulls | SA | 14 | v | Stormers | SA | 10 |
| Brumbies & Lions Bye | ||||||||||
| Week 3 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 15 | 2009/02/27 Fri | 08:35 | Christchurch | Crusaders | NZ | 24 | v | Hurricanes | NZ | 30 |
| 16 | 2009/02/27 Fri | 10:40 | Sydney | Waratahs | AU | 34 | v | Highlanders | NZ | 16 |
| 17 | 2009/02/28 Sat | 08:35 | Hamilton | Chiefs | NZ | 15 | v | Sharks | SA | 22 |
| 18 | 2009/02/28 Sat | 10:40 | Canberra | Brumbies | AU | 16 | v | Western Force | AU | 25 |
| 19 | 2009/02/28 Sat | 17:00 | Johannesburg | Lions | SA | 9 | v | Bulls | SA | 16 |
| 20 | 2009/02/28 Sat | 19:10 | Cape Town | Stormers | SA | 8 | v | Blues | NZ | 14 |
| 21 | 2009/03/01 Sun | 08:10 | Brisbane | Reds | AU | 22 | v | Cheetahs | SA | 3 |
| Week 2 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 8 | 2009/02/20 Fri | 08:35 | Wellington | Huricanes | NZ | 22 | v | Highlanders | NZ | 17 |
| 9 | 2009/02/20 Fri | 10:40 | Sydney | Waratahs | AU | 11 | v | Chiefs | NZ | 7 |
| 10 | 2009/02/20 Fri | 12:45 | Perth | Western Force | AU | 16 | v | Cheetahs | SA | 10 |
| 11 | 2009/02/20 Sat | 19:10 | Cape Town | Stormers | SA | 27 | v | Reds | AU | 24 |
| 12 | 2009/02/21 Sat | 10:40 | Canberra | Brumbies | AU | 18 | v | Crusaders | NZ | 16 |
| 13 | 2009/02/21 Sat | 17:00 | Pretoria | Bulls | SA | 59 | v | Blues | NZ | 26 |
| 14 | 2009/02/21 Sat | 19:10 | Durban | Sharks | SA | 25 | v | Lions | SA | 10 |
| Week 1 | ||||||||||
| # | Date & Time(CAT) | Venue | Team | Score | vs | Team | Score | |||
| 1 | 2009/02/13 Fri | 08:35 | Dunedin | Highlanders | NZ | 31 | v | Brumbies | AU | 33 |
| 2 | 2009/02/13 Fri | 12:45 | Perth | Western Force | AU | 19 | v | Blues | NZ | 25 |
| 3 | 2009/02/13 Fri | 19:10 | Johannesburg | Lions | SA | 34 | v | Cheetahs | SA | 28 |
| 4 | 2009/02/14 Sat | 06:30 | Christchurch | Crusaders | NZ | 19 | v | Chiefs | NZ | 13 |
| 5 | 2009/02/14 Sat | 08:35 | Wellington | Hurricanes | NZ | 22 | v | Waratahs | AU | 26 |
| 6 | 2009/02/14 Sat | 17:00 | Cape Town | Stormers | SA | 15 | v | Sharks | SA | 20 |
| 7 | 2009/02/14 Sat | 19:10 | Pretoria | Bulls | SA | 33 | v | Reds | AU | 20 |
Super14 Scoreboard 2009 – Week 6 (After match #39 )
|
(1) | Bulls(SA) | 22 |
| (2) | Sharks(SA) | 21 | |
| (3) | Waratahs(AU) | 19 | |
| (4) | Chiefs(NZ) | 17 | |
| (5) | Blues(NZ) | 17 | |
| (6) | Hurricanes(NZ) | 15 | |
| (7) | Crusaders(NZ) | 14 | |
| (8) | Highlanders(NZ) | 13 | |
| (9) | Brumbies(AU) | 13 | |
| (10) | Stormers(SA) | 12 | |
| (11) | Western Force(AU) | 12 | |
| (12) | Reds(AU) | 11 | |
| (13) | Lions(SA) | 10 | |
| (14) | Cheetahs(SA) | 2 |
Software Pick – Venkman
Programmer errors are a fact of life, but JavaScript developers have fewer options for debugging. Venkman is the code name for the JavaScript Debugger for Mozilla based browsers. The Current release of Venkman can be found on addons.mozilla.org site.
To access the debugger on Firefox, select Tools | JavaScript Debugger from the Menu bar. Venkman’s JavaScript Debugger provides everything you need!
Venkman’s Home Page
FAQ
Download
Screenshot:

-
Archives
- December 2009 (5)
- November 2009 (11)
- October 2009 (9)
- September 2009 (9)
- August 2009 (12)
- July 2009 (9)
- June 2009 (5)
- May 2009 (16)
- April 2009 (20)
- March 2009 (27)
- February 2009 (6)
-
Categories
-
RSS
Entries RSS
Comments RSS


