{"id":397,"date":"2021-06-10T14:14:34","date_gmt":"2021-06-10T13:14:34","guid":{"rendered":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/?page_id=397"},"modified":"2021-06-10T15:50:51","modified_gmt":"2021-06-10T14:50:51","slug":"php-and-sql","status":"publish","type":"page","link":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/php\/php-and-sql\/","title":{"rendered":"PHP and SQL"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignright wp-image-196\" src=\"https:\/\/blogs.glowscotland.org.uk\/sh\/public\/ahscomputinghtml\/uploads\/sites\/3275\/2021\/06\/05211152\/sqa-ah.png\" alt=\"\" width=\"100\" height=\"97\" \/><a href=\"https:\/\/www.w3schools.com\/pHp\/php_mysql_intro.asp\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"image-59 alignright\" src=\"https:\/\/glow-prod-sh.s3.eu-west-1.amazonaws.com\/sh\/public\/ahscomputinghtml\/uploads\/sites\/3275\/2021\/06\/03210120\/w3schools-150x150.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&#038;X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMj%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJGMEQCIDjoDWo20tGHlbedHhz5CQBCzWqDcbxlwOYW9qmBT9EJAiBIc0Bl3C0mzeCQCEyZSYUxIHOqh1nOKu%2F9OhsjszBfOSrCBQiR%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAUaDDI3MzU3MDE5NTQzMyIMrRxLa033AEnu%2BH%2FhKpYFuQnEuJ3XkMCUeh1tuHdu5OvkBcMmIPFxXOKMaOB1wTMy5IfF3VHoMnY%2B43JsREpd%2FzIf%2Fbqtb0c9YJWnMLV2rmgE%2FsCxRz4bAPNebTQ0pUx4TIW2xJ5j95FfNrNKLvkXL9fwV82zYjXCVWDKW3YT5Wo8DIu6wxUTFEO%2BHRJc7fOW8FofKfKEQ6eTXlbrOrdRLEzL3FIePVV0zrlyjjAIltPAIlpAa%2FlkQZ0DKECpLbSZjYi%2FABctbTWZW9hK7OHE8MdVs5nTYaGcFbkB0qgKvnRSSnPMOWO8yi8URdmaPLjXJYanos5M%2BCquf5wrE2WgRYfmWpewr8O4A6MDChJImYe%2F6A4lx%2BVwBoQXJ4El%2BXRRWHSwboj4PRpqNSfXlBmyPsSpii5aqlFiHpre8wDWX63MwuxrL4sZ87%2Fcd9lPcWvdETa4xW%2Fyv5%2B2yNGtE%2BaVOmoj5HTNUB3zSuQ7nIoYSkYN7giNNuPnLb556NnaowgwIrE1xbZw7QlYxSt0rmmhSUj9yFJrNPLeJ0ZBM2lfbuShdoiRPGA0cQCnCH%2FpVmp7eWft%2FO73XxAKaaGT7enV%2FiF8lqpXnmLYBeVdvZTsqbF96zECOZQRgy7pAV4v8ltZQ0L2FDQHwOCmolUi5yE1eUarJKRZNqnOlZnFbnqOlfIJpEa0dIwxh6c%2BH73bIIHz8bFi3vC3PGcWsxNdHUoUjdLw%2Be0snLowAhvCMHhOJCn1C8g1QmEiSeBQSy57CWgiFlwmN41VzYCzYXut93IrJHwfY59%2Bq4xX3IBE8%2BoPOJyF8R9mFFGlISXxSQFXVf9sqaYR6IGb%2BeAAgyTqgkzGcpbMqdguw8%2B6bDlTTv6gYv1DT1EvTH%2FNsgWWdnNbMMHA7jCQ2nYw48ic1AY6sgEXhfp9VymFbcPfTHVXjx2%2BfmW6klByc0v6LSKazTACpql22jAzHoeITqpP%2FsYuRGm1DwXKwCL0NbMHzLc3ZCLi7o0lNDcY5PEaRSdJAlUAl2VuP4SCKZERjLwTo9drLHxT3ECNeXmvM5kTqJVE4HqczWgTVikk68vZEHnwweyTtPFr%2BvzkuWIKJgqOnBIj8wFr2%2FQtVaoEDGrKpkfteuHf4fpFj9Ol3pgCDaGAtjCXhUe9&#038;X-Amz-Algorithm=AWS4-HMAC-SHA256&#038;X-Amz-Credential=ASIAT7MQN47U35WY6MJ5%2F20260820%2Feu-west-1%2Fs3%2Faws4_request&#038;X-Amz-Date=20260820T165112Z&#038;X-Amz-SignedHeaders=host&#038;X-Amz-Expires=900&#038;X-Amz-Signature=b98478d74d1b2ed6644adf723791e2c08b0f20cedc7e0aeb10542527be7d6e92\" alt=\"\" width=\"50\" height=\"47\" \/><\/a>PHP is often to use form data to read from, or update, SQL databases.<\/p>\n<h1>Database Connection<\/h1>\n<p>Remember the order of parameters &#8211; you connect to the <strong>server<\/strong> with your <strong>name<\/strong> and <strong>password.<\/strong> Then you select the <strong>database<\/strong> to be used.<\/p>\n<p>In this example, three possible responses are given to a connection failure &#8211; it would be unlikely to use all three.<\/p>\n<pre class=\"brush: php; title: PHP; notranslate\" title=\"PHP\">\r\n$servername = &quot;localhost&quot;;\r\n$username = &quot;root&quot;;\r\n$password = &quot;&quot;;\r\n$dbname = &quot;studentlist&quot;;\r\n\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\r\nif (!$conn) {\r\n    echo '&lt;img src=&quot;data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&quot; data-wp-preserve=&quot;%3Cscript%3Ealert(%22Error%20inserting%20data%22)%3B%3C%2Fscript%3E&quot; data-mce-resize=&quot;false&quot; data-mce-placeholder=&quot;1&quot; class=&quot;mce-object&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;&amp;lt;script&amp;gt;&quot; title=&quot;&amp;lt;script&amp;gt;&quot; \/&gt;'; \/\/ pop-up message\r\n    &lt;p&gt;Error inserting data&lt;\/p&gt; die(&quot;Error adding data&quot;);   \/\/ error on page\r\n    die(&quot;Connection to database failed&quot;);                   \/\/ halt script\r\n}\r\n<\/pre>\n<p>At the end of the script, the database connection should be closed:<\/p>\n<pre class=\"brush: php; title: PHP; notranslate\" title=\"PHP\">\r\nmysqli_close($conn);\r\n<\/pre>\n<h1>SQL Insert\/Update\/Delete<\/h1>\n<p>These SQL queries retrun a Boolean True\/False result that can be used to check for success:<\/p>\n<pre class=\"brush: php; title: PHP; notranslate\" title=\"PHP\">\r\n$sql = &quot;INSERT INTO students VALUES ($forename, $surname);\r\n$result = mysqli_query($conn, $sql);\r\nif (!result) { \r\n    echo '&lt;img src=&quot;data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&quot; data-wp-preserve=&quot;%3Cscript%3Ealert(%22Error%20inserting%20data%22)%3B%3C%2Fscript%3E&quot; data-mce-resize=&quot;false&quot; data-mce-placeholder=&quot;1&quot; class=&quot;mce-object&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;&amp;lt;script&amp;gt;&quot; title=&quot;&amp;lt;script&amp;gt;&quot; \/&gt;';\r\n}\r\n<\/pre>\n<h1>SQL Select<\/h1>\n<p>Select queries return will 0, 1 or more records:<\/p>\n<pre class=\"brush: php; title: PHP; notranslate\" title=\"PHP\">\r\n$sql = &quot;SELECT forename, surname FROM students&quot;;\r\n$result = mysqli_query($conn, $sql);\r\n \r\n$studentsFound = mysqli_num_rows($result);\r\nif ($studentsFound &gt;= 0) {\r\n    echo &quot;&lt;table&gt;&quot;;\r\n    while($row = mysqli_fetch_array($result)) {\r\n        echo &quot;&lt;tr&gt;&lt;td&quot; . $row&#x5B;&quot;forename&quot;] . &quot;&lt;\/td&gt;&lt;td&gt;&quot; . $row&#x5B;&quot;surname&quot;] . &quot;&lt;\/td&gt;&lt;\/tr&gt;&quot;;\r\n    echo &quot;\/table&gt;&quot;;\r\n} else {\r\n    echo &quot;&lt;p&gt;No results found&lt;\/p&gt;&quot;\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>PHP is often to use form data to read from, or update, SQL databases. Database Connection Remember the order of parameters &#8211; you connect to the server with your name and password. Then you select the database to be used. In this example, three possible responses are given to a connection failure &#8211; it would be unlikely to use all three. $servername = &quot;localhost&quot;; $username = &quot;root&quot;; $password = &quot;&quot;;<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/php\/php-and-sql\/\">Read More<\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"parent":343,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-397","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/pages\/397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/comments?post=397"}],"version-history":[{"count":9,"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/pages\/397\/revisions"}],"predecessor-version":[{"id":424,"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/pages\/397\/revisions\/424"}],"up":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/pages\/343"}],"wp:attachment":[{"href":"https:\/\/blogs.glowscotland.org.uk\/sh\/ahscomputinghtml\/wp-json\/wp\/v2\/media?parent=397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}