-3

i want to fetch data from my database which is linked to the website,i have created a search box,whenever i enter a particular value in search box,it should display all the related content from the database.i have done the following code,it is not fetching the data from the database,it just shows a blank screen.

<?php
define('db_name','njgh');
define('db_user','root');
define('db_password','');
define('db_host','localhost');
session_start();

$link=mysql_connect(db_host,db_user,db_password);

if(!$link)
{
    die('couldnot connetc:'.mysql_error());
}

$db_selected=mysql_select_db(db_name,$link);
if(!$db_selected)
{
    die('cant connect to db');
}


function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
}

$value = clean($_POST['searchtext']);
$qry = "SELECT * FROM database WHERE Site_ID = '$value'";
$result = mysql_query($qry);
print_r($result);
sasi
  • 51
  • 6
  • add some code bellow your `$result` variable `$row = mysql_fetch_assoc($result); print_r($row)` – Razib Al Mamun Nov 01 '16 at 05:20
  • As a side note, do yourself a favor, and look into using PDO. It's quite simple to use and is far superior to the deprecated mysql_* functions , see [Why shouldn't I use mysql_* functions in PHP?](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – Wesley Smith Nov 01 '16 at 05:33
  • thanks for your help,i'm getting this error Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\database1.php on line 33 – sasi Nov 01 '16 at 05:57
  • Please use `mysqli` because `mysql_*` has been removed entirely as of PHP 7.0. Follow my answer bellow. and let me know – Razib Al Mamun Nov 01 '16 at 06:02
  • result getting after using ur code //$_POST(); //return $result; // //$value=$_POST['idea']; // $sql="INSERT INTO members (inputtxt) VALUES ('$value')"; // if (!mysql_query($sql)) { // die('error'); // # code... // } // $dbc = mysqli_connect(db_host, db_user, db_password, 'inputtxt'); // $query = "SELECT * FROM members"; // $result = mysqli_query($dbc, $query); // //echo var_dump($result); // $temp = 0; // $colour = "blue"; // $array_len = mysqli_num_rows($result); // //echo { // echo ' '.' '.''.'' . $row['inputtxt'] .''. ''.' ' . ' '; // } // $temp++; // } //mysql_close(); ?> – sasi Nov 01 '16 at 06:14
  • did not understand clearly. – Razib Al Mamun Nov 01 '16 at 06:28

3 Answers3

1

mysql_query function return resource ID not your data , use mysql_fetch_array, mysql_fetch_object to get data

$value = ($_POST['searchtext']);
$result = mysql_query("SELECT * FROM database WHERE Site_ID = '$value'");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}
Md Hasibur Rahaman
  • 1,041
  • 3
  • 11
  • 34
0

mysql_* has been removed entirely as of PHP 7.0. Prevent SQL injection and use the mysqli statement class.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "njgh";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$value = $_POST['searchtext'];
/* create a prepared statement */
if($stmt = $conn->prepare("SELECT * FROM database WHERE Site_ID =?")) {
    /* bind parameters for markers */
    $stmt->bind_param("s", $value);

    /* execute query */
    $stmt->execute();

    $result = $stmt->get_result();

    if($result->num_rows > 0) { 
        while ($row = $result->fetch_assoc()) {
            echo $row['db_table_field_name'];
        }
        //or 
        $row = $result->fetch_assoc();
        print_r($row);
    } else {

    }
    /* close statement */
    $stmt->close();
} 
/* close connection */
$con->close();
?>
Razib Al Mamun
  • 2,663
  • 1
  • 16
  • 24
0

The original MySQL extension is now deprecated, and will generate E_DEPRECATED errors when connecting to a database. Instead, use the MySQLi or PDO_MySQL extensions. Hope this will work for you......

<?php
define('db_name','sports');
define('db_user','root');
define('db_password','');
define('db_host','localhost');
$link=mysqli_connect(db_host,db_user,db_password,db_name);
if(!$link)
{
    die('couldnot connect:'.mysql_error());
}

function clean($str) {
        $link=mysqli_connect(db_host,db_user,db_password,db_name);
        $str = @trim($str);
        if(get_magic_quotes_gpc())
            $str = stripslashes($str);

        return mysqli_real_escape_string($link, $str);
}
if(isset($_POST['searchtext'])){
$value = clean($_POST['searchtext']);
$qry = "SELECT * FROM cricket WHERE id = '$value'";
$qrydb = mysqli_query($link, $qry);

while($row=mysqli_fetch_array($qrydb)){
    $name = $row['name'];
}
echo $name ;
}
?>
<body>
    <form method="post">
      <input type="text" name="searchtext">
      <input type="submit" name="submit">
    </form>
</body>
Harshanil
  • 27
  • 5