0

I have created a tabe with values using this command :

 CREATE TABLE `news` (
  `id` int(11) NOT NULL auto_increment,
  `title` text NOT NULL,
  `content` text NOT NULL,
  `price` text NOT NULL,
  `link` text NOT NULL,
  `ppcode` text NOT NULL,
  `type` text NOT NULL,
  PRIMARY KEY  (`id`)
 )

And when i use this php codes i cant update any value of the columns :

 if (isset($_POST['edit'])){
 $delsql = "UPDATE news SET title='$newsubject',content='$newdisc',link='$newlink',
            price='$newprice',ppcode='$newppcode' WHERE id = '$id'";
 $result = mysql_query($delsql) or die(mysql_error());
 echo 'OK';
 }

Note : the version of MySQL is 3.5.2.2 and the version of PHP is 5.3

Juan Carlos Oropeza
  • 45,789
  • 11
  • 74
  • 113

3 Answers3

0

Beside all the suggestion on the comments

You have

 WHERE id = '$id'";

but id is integer not text

CREATE TABLE `news` (
  `id` int(11) NOT NULL auto_increment,
Juan Carlos Oropeza
  • 45,789
  • 11
  • 74
  • 113
0

Use mysqli_* functions or PDO!!!!

//db connection

global $conn;

$servername = "localhost";  //host name

$username = "username"; //username

$password = "password"; //password

$mysql_database = "dbname"; //database name

//mysqli prepared statement 

$conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error());

mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong");

$stmt = $conn->prepare("UPDATE news SET title=?,content=?,link=?,price=?,ppcode=? WHERE id =?");

            $stmt->bind_param('sssdii',$newsubject,$newdisc,$newlink,$newprice,$newppcode,$id);

 //   i corresponding variable has type integer
 //  d  corresponding variable has type double
//  s   corresponding variable has type string
//  b   corresponding variable is a blob and will be sent in packets

            $stmt->execute();

            $row_count= $stmt->affected_rows;
            $stmt->close();
             $conn->close();
JYoThI
  • 11,793
  • 1
  • 10
  • 25
0

In image of phpmyadmin that you provided in comments you can see that A_I (auto_increment) is not active. Also primary key is not set. Set A_I to true for id and set it as primary key (under Index) in phpmyadmin. Then test it with your code.

Of course first insert new data which will have auto incremented id's.

Jakob
  • 3,378
  • 4
  • 25
  • 41