Avatar billede Morten Professor
30. marts 2015 - 12:51 Der er 5 kommentarer og
1 løsning

Slet id med mysqli

Hej

Jeg prøver at slette et id med mysqli men der sker ikke noget.
Her er min kode.

<?php
require_once("mysqli_toolbox.php"); // GetSQLValueString

$mysqli = mysqli_connect("localhost","root","","mysqli");
// Check connection
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// mysqli_select_db($mysqli, $database_mysqli ); // gøres i mysqli_connect

if ((isset($_POST['id'])) && ($_POST['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM test WHERE id=%s",
                      GetSQLValueString($_POST['id'], "int"));

  mysqli_select_db($mysqli, $database_mysqli);
  $Result1 = mysqli_query($mysqli, $deleteSQL) or die(mysql_error());

  $deleteGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}

$query_rsOplysninger = "SELECT * FROM test";
$rsOplysninger = mysqli_query($mysqli, $query_rsOplysninger) or die(mysql_error());
$row_rsOplysninger = mysqli_fetch_assoc($rsOplysninger);
$totalRows_rsOplysninger = mysqli_num_rows($rsOplysninger);
?>
Avatar billede olsensweb.dk Ekspert
30. marts 2015 - 14:35 #1
hvor sætter du variablen $database_mysqli ??

hvilke fejl får du ??

prøv at echo $deleteSQL; efter
$deleteSQL = sprintf("DELETE FROM test WHERE id=%s",
GetSQLValueString($_POST['id'], "int"));
echo $deleteSQL;
mysqli_select_db($mysqli, $database_mysqli);

står der det du forvendter ??

kommer du ind i din if sætning ??

bliver du rediageret ??
Avatar billede Morten Professor
30. marts 2015 - 16:12 #2
Der kommer ikke nogen fejl.

Her er det hele som jeg forsøger at få til at virke.

<?php
require_once("mysqli_toolbox.php"); // GetSQLValueString

$mysqli = mysqli_connect("localhost","root","","mysqli");
// Check connection
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// mysqli_select_db($mysqli, $database_mysqli ); // gøres i mysqli_connect

if ((isset($_POST['id'])) && ($_POST['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM test WHERE id=%s",
                      GetSQLValueString($_POST['id'], "int"));

  mysqli_select_db($mysqli, $query_rsOplysninger);
  $Result1 = mysqli_query($mysqli, $deleteSQL) or die(mysql_error());

  $deleteGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}

$colname_rsOplysninger = "-1";
if (isset($_GET['id'])) {
  $colname_rsOplysninger = $_GET['id'];
}
mysqli_select_db($mysqli, $colname_rsOplysninger);
$query_rsOplysninger = sprintf("SELECT * FROM test WHERE id = %s", GetSQLValueString($colname_rsOplysninger, "int"));
$rsOplysninger = mysqli_query($mysqli, $query_rsOplysninger) or die(mysql_error());
$row_rsOplysninger = mysqli_fetch_assoc($rsOplysninger);
$totalRows_rsOplysninger = mysqli_num_rows($rsOplysninger);?>
<form name="form1" method="post" action="">
  <p>
    <input name="navn" type="text" id="navn" value="<?php echo $row_rsOplysninger['navn']; ?>" size="40" />
    <br />
    <label for="efternavn2"></label>
    <input name="efternavn" type="text" id="efternavn2" value="<?php echo $row_rsOplysninger['efternavn']; ?>" size="40" />
    <br />
    <label for="adresse"></label>
    <input name="adresse" type="text" id="adresse" value="<?php echo $row_rsOplysninger['adresse']; ?>" size="40" />
    <br />
    <label for="postnr"></label>
    <input name="postnr" type="text" id="postnr" value="<?php echo $row_rsOplysninger['postnr']; ?>" size="40" />
    <br />
    <label for="bynavn"></label>
    <input name="bynavn" type="text" id="bynavn" value="<?php echo $row_rsOplysninger['bynavn']; ?>" size="40" />
    <br />
    <label for="nummer"></label>
    <input name="nummer" type="text" id="nummer" value="<?php echo $row_rsOplysninger['nummer']; ?>" size="40" />
    <br />
    <label for="email"></label>
    <input name="email" type="text" id="email" value="<?php echo $row_rsOplysninger['email']; ?>" size="40" />
    <br>
    <input type="submit" name="button" id="button" value="Slet">
  </p>
</form>
Avatar billede Morten Professor
30. marts 2015 - 16:23 #3
Jeg prøvede det med echo $deleteSQL, der skete ikke noget.
Avatar billede olsensweb.dk Ekspert
30. marts 2015 - 17:00 #4
>Jeg prøvede det med echo $deleteSQL, der skete ikke noget.

så får du aldrig sendt id over, og dermed kommer du ikke ind i denne if sætning
if ((isset($_POST['id'])) && ($_POST['id'] != "")) {



#2
>mysqli_select_db($mysqli, $colname_rsOplysninger);
dette passser vist ikke
jeg tror ikke du har en database der hedder -1, eller den id du sender over
Avatar billede Morten Professor
30. marts 2015 - 20:11 #5
Fik den til at virker, med denne kode:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mysqli";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// sql to delete a record
$sql = "DELETE FROM test WHERE id=".$_GET['id']."";

if (mysqli_query($conn, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($conn);
}

mysqli_close($conn);

Fundet her: http://www.w3schools.com/php/php_mysql_delete.asp
Avatar billede Morten Professor
22. april 2015 - 20:14 #6
Lukker tråd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester