Jump to content

benanamen

Members
  • Posts

    2,134
  • Joined

  • Last visited

  • Days Won

    42

Everything posted by benanamen

  1. How about giving us a high level overview of what you have going on and the real problem you are trying to solve by doing this.
  2. You might want to tell us exactly what that error is. We cant see your screen and you posted incomplete code. What you did post is wide open to an SQL Injection Attack. You need to use Prepared Statements.
  3. When you are done, post a sql dump of your db tables and we will review it for you.
  4. Here's what I would suggest.. Back up your DB and Code-base Clean up your orphans Add the Foreign Keys Learn and implement cascading update/delete Clean up the unnecessary code You have been doing it "your way" long enough that the difference and time/effort savings will be very apparent. In a nutshell, but some fresh eyes on it and just try it. There really isn't much more to say about it. * I am assuming your DB is already normalized. If not, now is the time to fix it.
  5. Sounds like someone hasn't set unique indexes on the relevant DB columns.
  6. Sure, if you can tell me why the obsession with resetting the auto-increment. I will go first to save a post.... #1 reason to use Foreign Keys is to enforce Data Integrity. You can try and manage it yourself but if you get it wrong you will end up with orphan records (Bad Data). Wouldn't surprise me at all if you already have orphans. As soon as you try to set the FK's you will know right away if you do. It also clearly defines the links between tables (That would be the R in RDMS, Relational, AKA Relationships) Then you didn't learn how to do it. It is not complicated and is a great feature, especially when multiple table record deletes are involved at the same time. The more tables involved, the more code needed and the more chance of something breaking. You also unnecessarily increase your technical debt. Another thing, if anyone, including your future self does a reverse engineer data model it is instantly clear how data is related to other data. It is not up to me to talk you into anything. I am not the one that has to work with your DB. There are right/better ways to do things and Foreign Keys in an RDMS is one of them.
  7. Navicat saves query's within itself as part of the program. Based on the additional info you provided, there is no reason whatsoever to reset the auto-increment. And as I already said, once you start creating a real relational DB with keys you wont be able to do it anyways. If you actually want to be able to call a "saved" query at will from the DB will you will need a stored procedure or run the saved query in Navicat which actually is a "saved" query.
  8. Well, there is an hour of my life I am never getting back. Why do I even bother?
  9. If you truncate ALL the tables in the DB you can use this... <?php $pdo = new PDO('mysql:host=localhost;dbname=db_example', 'root', ''); $tables = $pdo->prepare('SHOW TABLES'); $tables->execute(); foreach($tables->fetchAll(PDO::FETCH_COLUMN) as $table) { $pdo->query('TRUNCATE TABLE `' . $table . '`')->execute(); }
  10. Why? If you are deleting all the records you can truncate the table if there are no foreign keys. If you are just trying to keep a continuous id number for left over records, don't do that. It is a pointless noob thing and will fail when you start using foreign keys. I tried the same thing when I was new. If you are keeping some real data, a better practice is to create a deleted flag column and just mark the data as deleted rather than actually wiping it from the DB. We are here to teach people, not just answer an OP's attempted approach to a problem (See XY Problem). You don't know what you don't know that we most likely know and can tell you the better/correct way to solve the real problem. When posting it is best to tell us the real problem you are trying to solve rather than ask how to solve what you think is the way to solve the real problem.
  11. Before you start, make sure you understand Database Normalization. Look online for Real Estate Data Models to see examples of how it is being done. A GUI DB manager like MySQL Workbench will be very helpful. Stay away from Phpmyadmin. Sketch out a "Conceptual Data Model". Then move on to a Logical Data Model, Then a Physical Data Model. This site will help you understand all of that. https://erwin.com/blog/types-of-data-models-conceptual-logical-physical/ Do not "code as you go". Make sure your DB architecture is well planned before you write a single line of code. When you have finalized your DB structure post it here and we will review it for you. When you get to coding, use PDO with prepared statements for you DB actions.
  12. The whole point of the OP's thread is really, "How to debug" (troubleshoot). All of the answers provided are responses to the OP's attempted solution to debugging. (XY Problem) OP, make sure you have error reporting and logging turned on. Php is more than happy to tell you exactly what is wrong and what line and file the problem is. The Php and server error logs are your friend.
  13. Hi Barry,

    What are you using to create your diagrams of late?

    1. Barand

      Barand

      If you mean the flowcharts, MS Offices's Powerpoint

  14. Your code is vulnerable to an Email Header Injection Attack. Never ever trust user input. The FROM should be YOUR server, not the person filling out the form.
  15. Just wondering, why do you want an old version of Mysql?
  16. It means you are trying to install an old version of Mysql over a newer version of MariaDB.
  17. Absolutely and completely pointless! If you are so convinced there is a problem, show us a case with code using current coding practices where it would actually be a problem if you didn't do this. If you are protecting against something, then surely you can show us the case that it protects against.
  18. Where ever you have been learning from, toss it. There is so much not right with your code there is no point getting into every single thing. A couple points though, md5 has been hacked a hundred years ago, don't use it. Not now, not ever. It is also not "encryption". It creates a very hackable hash. Use password_hash and password_verify. I would also highly recommend you use PDO Instead of mysqli. This tutorial will get you going. Your clean function is a junk relic from the 90's. There is no reason to be putting your POST elements into a session. You already have the values in the POST array, just use them. You are also using the same exact $username variable as a database connection parameter AND using it to query a database column. NEVER EVER put variables in a query. Use Prepared Statements.
  19. This is a coding help forum where we help people learn. You will probably be bettor off making a "For Hire" post.
  20. Surprisingly, that tutorial got it pretty right. It could use a hand full of small improvements but overall they got it right.
  21. You have made a classic mistake of depending on the name of a button to be submitted for your code to work instead of checking the POST Request Method. Since you didn't name your submit button, the code does not do anything. The fix is NOT to add a name to the button, but to instead check the REQUEST METHOD instead. Depending on the name of a button to be submitted will completely fail in certain cases. if($_SERVER['REQUEST_METHOD'] == ‘POST’){ // Do stuff } Your error checks will also fail. You need to trim the entire POST array and then check for empty. Do not create variables for nothing. Your code is also vulnerable to an XSS Attack. You are allowing user supplied data directly in your form.
  22. This sounds to me like an XY Problem. Tell us about the REAL problem you are trying to solve by doing this. What is the high level overview of what you have going on?
  23. What source code? How about posting it using the code tags <>
  24. In mobile, the posters logo block the post text.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.