:: Forum >>

updateSingleCell.php issue

I realize that this may not be the right place for PHP questions, but since many of you may have already implemented a "updateSingleCell.php" or something similar, I thought you may have had a similar issue.

<?php

    // Full db user info ...
    $hostname_connAdmin = "localhost";
    $database_connAdmin = "db";
    $username_connAdmin = "db_admin";
    $password_connAdmin = "password";
    $connAdmin = mysql_pconnect($hostname_connAdmin, $username_connAdmin, $password_connAdmin) or trigger_error(mysql_error(),E_USER_ERROR);
/*
    // Data from $_POST ...
    $Contact_ID = intval($_POST['Contact_ID']);
    $column = $_POST['column'];
    $text = $_POST['text'];
*/

    // Same data used to troubleshoot, get same error ...
    $Contact_ID = 2;
    $column = "3";
    $text = "Brougham";
    
    $contactFields = array('Contact_ID','Title','First_Name','Middle_Name','Last_Name','Suffix','Friend_Of','Street','City','State','Zip','Phone','Email');
    $columnName = $contactFields[$column];

    // Set up query ...
    $updateSQL = "UPDATE contacts_jmsavoy SET `$columnName`=`$text` WHERE Contact_ID=`$Contact_ID`";

    // Run query ...
    mysql_select_db($database_connAdmin, $connAdmin);
    $Result1 = mysql_query($updateSQL, $connAdmin) or die(mysql_error());

?>


The error I get is always the same:
Unknown column '2' in 'where clause'

Where '2' is actually the Contact_ID of the contact in the table (see the code please).

Contact_ID does indeed exist in my table as an int(10). I just don't understand ... the column should be "Contact_ID" per my where clause and the value is "2", not a column named "2" -- what am I missing here?

thanks!
Jeremy Savoy
Monday, January 21, 2008
Just to clarify -- in this code example, I am trying to set a contact's middle name to "Brougham". This contact's Contact_ID is 2. Contact_ID is my primary key.
Jeremy Savoy
Monday, January 21, 2008
I guess the problem is because you are using the wrong type of quote character here (`) instead of " or '. The ` char indicates that this is a column name and not a string value.
Alex (ActiveWidgets)
Monday, January 21, 2008
Yes, you are correct Alex - when I surrounded the column values with ' instead of `, things worked properly - THANKS!

// Set up query ...
    $updateSQL = "UPDATE contacts_jmsavoy SET `$columnName`='$text' WHERE `Contact_ID`='$Contact_ID'";


Now, the only issue remaining here is that after the php code updates the database, a dialog box pops up with the title: "The page at http://localhost/ says" and then just an empty dialog box.
Jeremy Savoy
Monday, January 21, 2008
And I found that problem as well -- in my javascript function I was issuing alert() with the results from the PHP code .... simple mistake ...
Jeremy Savoy
Monday, January 21, 2008

This topic is archived.


Back to support forum

Forum search