Change php mysql to php mssql

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alibaba1
    New Member
    • Oct 2011
    • 14

    Change php mysql to php mssql

    Hey Everyone hope all well. I have this code that works perfectly on a mysql database

    Code:
    <?php
    // visit http://php.net/pdo for more details
    // start error handling
    
    try 
    {
      // connect
      $pdo = new PDO('mysql:host=localhost;dbname=name', 'name', 'password');
      // enable error handling through exceptions
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      // create safe query
      $query = $pdo->prepare("SELECT ip FROM tester WHERE state = ? ORDER BY RAND
    
    (UNIX_TIMESTAMP(NOW())) LIMIT 1");
      
      // pass data & execute query (since the data are of string type
      // and therefore can be passed in this lazy way)
      $query->execute(array($_POST['State']));
      // get value
      $ip = $query->fetchColumn();
      // print out the IP address using $ip
    }
    catch (Exception $e)
    {
      echo "sorry, there was an error.";
      mail("email@gmail.com", "database error", $e->getMessage(), "From: email@gmail.com");
    }
    
    if(isset($_POST['email'])) {
    
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "email@gmail.com";
        $email_subject = "This is a test";
    
    
        function died($error) {
            // your error code can go here
            echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo "These errors appear below.<br /><br />";
            echo $error."<br /><br />";
            echo "Please go back and fix these errors.<br /><br />";
            die();
        }
    
        // validation expected data exists
        if(!isset($_POST['first_name']) ||
            !isset($_POST['last_name']) ||
            !isset($_POST['email']) ||
    		!isset($_POST['what']) ||
            !isset($_POST['State']) ||
            !isset($_POST['comments'])) {
            died('We are sorry, but there appears to be a problem with the form you submitted.');       
        }
    	
    	$what = $_POST['what']; // required
        $first_name = $_POST['first_name']; // required
        $last_name = $_POST['last_name']; // required
        $email_from = $_POST['email']; // required
        $state = $_POST['State']; // not required
        $comments = $_POST['comments']; // required
    
        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!preg_match($email_exp,$email_from)) {
        $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
      }
        $string_exp = "/^[A-Za-z .'-]+$/";
      if(!preg_match($string_exp,$first_name)) {
        $error_message .= 'The First Name you entered does not appear to be valid.<br />';
      }
      if(!preg_match($string_exp,$last_name)) {
        $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
      }
      if(strlen($comments) < 2) {
        $error_message .= 'The Comments you entered do not appear to be valid.<br />';
      }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\n\n";
    
        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }
    
        $email_message .= "First Name: ".clean_string($first_name)."\n";
        $email_message .= "Last Name: ".clean_string($last_name)."\n";
    	$email_message .= "What: ".clean_string($what)."\n";
        $email_message .= "Email: ".clean_string($email_from)."\n";
        $email_message .= "State: ".clean_string($ip)."\n";
        $email_message .= "Comments: ".clean_string($comments)."\n";
    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    if (!mail($email_to, $email_subject, $email_message, $headers))
    {
        echo "failed to send message";
    }  
    
    ?>
      
    <!-- include your own success html here -->
     
    Thank you for contacting us. We will be in touch with you very soon.
     
    <?php
    }
    ?>
    When someone selects a state and submits the web form, this code connects to the mysql database and

    selects an ip address randomly and sends it to my email. It is perfect.

    The problem i have is that the person i am doing this for does not want to use a mysql database so wants it

    intergrated in a mssql database.

    I know in the php code above that i am connecting to a mysql database instead of a mssql database but

    can not work out what needs to be changed to make it all work.

    I did find this online and thought i might be able to intergrate it with my exsisting code but so far no luck.

    Code:
    <?php
    $myServer = "localhost";
    $myUser = "your_name";
    $myPass = "your_password";
    $myDB = "examples"; 
    
    //connection to the database
    $dbhandle = mssql_connect($myServer, $myUser, $myPass)
      or die("Couldn't connect to SQL Server on $myServer"); 
    
    //select a database to work with
    $selected = mssql_select_db($myDB, $dbhandle)
      or die("Couldn't open database $myDB"); 
    
    //declare the SQL statement that will query the database
    $query = "SELECT id, name, year ";
    $query .= "FROM cars ";
    $query .= "WHERE name='BMW'"; 
    
    //execute the SQL query and return records
    $result = mssql_query($query);
    
    $numRows = mssql_num_rows($result); 
    echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; 
    
    //display the results 
    while($row = mssql_fetch_array($result))
    {
      echo "<li>" . $row["id"] . $row["name"] . $row["year"] . "</li>";
    }
    //close the connection
    mssql_close($dbhandle);
    ?>
    Any help in getting this to work would be much appreciated. Thanks Everyone

    Ali
  • ck9663
    Recognized Expert Specialist
    • Jun 2007
    • 2878

    #2
    This is more of PHP question than a sql server question.

    Good Luck!!!


    ~~ CK

    Comment

    Working...